PageSourceSearch

https://crimson-juli-49.tiiny.site/viewer.js

js crimson-juli-49.tiiny.site collected 2026-10-03 05:07:18 UTC 669,235 bytes, 20,200 lines download raw bytes

1/**
2 * @licstart The following is the entire license notice for the
3 * Javascript code in this page
4 *
5 * Copyright 2021 Mozilla Foundation
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 *     http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 *
19 * @licend The above is the entire license notice for the
20 * Javascript code in this page
21 */
22
23/******/ (() => { // webpackBootstrap
24/******/ 	"use strict";
25/******/ 	var __webpack_modules__ = ([
26/* 0 */,
27/* 1 */
28/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
29
30
31
32Object.defineProperty(exports, "__esModule", ({
33  value: true
34}));
35exports.OptionKind = exports.AppOptions = void 0;
36
37var _viewer_compatibility = __webpack_require__(2);
38
39function _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); }
40
41function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
42
43function _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); } }
44
45function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
46
47var OptionKind = {
48  VIEWER: 0x02,
49  API: 0x04,
50  WORKER: 0x08,
51  PREFERENCE: 0x80
52};
53exports.OptionKind = OptionKind;
54var defaultOptions = {
55  cursorToolOnLoad: {
56    value: 0,
57    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
58  },
59  defaultUrl: {
60    value: "document.pdf",
61    kind: OptionKind.VIEWER
62  },
63  defaultZoomValue: {
64    value: "",
65    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
66  },
67  disableHistory: {
68    value: false,
69    kind: OptionKind.VIEWER
70  },
71  disablePageLabels: {
72    value: false,
73    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
74  },
75  enablePermissions: {
76    value: false,
77    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
78  },
79  enablePrintAutoRotate: {
80    value: true,
81    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
82  },
83  enableScripting: {
84    value: true,
85    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
86  },
87  externalLinkRel: {
88    value: "noopener noreferrer nofollow",
89    kind: OptionKind.VIEWER
90  },
91  externalLinkTarget: {
92    value: 0,
93    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
94  },
95  historyUpdateUrl: {
96    value: false,
97    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
98  },
99  ignoreDestinationZoom: {
100    value: false,
101    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
102  },
103  imageResourcesPath: {
104    value: "./images/",
105    kind: OptionKind.VIEWER
106  },
107  maxCanvasPixels: {
108    value: 16777216,
109    compatibility: _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels,
110    kind: OptionKind.VIEWER
111  },
112  pdfBugEnabled: {
113    value: false,
114    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
115  },
116  printResolution: {
117    value: 150,
118    kind: OptionKind.VIEWER
119  },
120  renderer: {
121    value: "canvas",
122    kind: OptionKind.VIEWER
123  },
124  renderInteractiveForms: {
125    value: true,
126    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
127  },
128  sidebarViewOnLoad: {
129    value: -1,
130    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
131  },
132  scrollModeOnLoad: {
133    value: -1,
134    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
135  },
136  spreadModeOnLoad: {
137    value: -1,
138    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
139  },
140  textLayerMode: {
141    value: 1,
142    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
143  },
144  useOnlyCssZoom: {
145    value: false,
146    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
147  },
148  viewerCssTheme: {
149    value: 0,
150    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
151  },
152  viewOnLoad: {
153    value: 0,
154    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
155  },
156  cMapPacked: {
157    value: true,
158    kind: OptionKind.API
159  },
160  cMapUrl: {
161    value: "../web/cmaps/",
162    kind: OptionKind.API
163  },
164  disableAutoFetch: {
165    value: false,
166    kind: OptionKind.API + OptionKind.PREFERENCE
167  },
168  disableFontFace: {
169    value: false,
170    kind: OptionKind.API + OptionKind.PREFERENCE
171  },
172  disableRange: {
173    value: false,
174    kind: OptionKind.API + OptionKind.PREFERENCE
175  },
176  disableStream: {
177    value: false,
178    kind: OptionKind.API + OptionKind.PREFERENCE
179  },
180  docBaseUrl: {
181    value: "",
182    kind: OptionKind.API
183  },
184  enableXfa: {
185    value: false,
186    kind: OptionKind.API + OptionKind.PREFERENCE
187  },
188  fontExtraProperties: {
189    value: false,
190    kind: OptionKind.API
191  },
192  isEvalSupported: {
193    value: true,
194    kind: OptionKind.API
195  },
196  maxImageSize: {
197    value: -1,
198    kind: OptionKind.API
199  },
200  pdfBug: {
201    value: false,
202    kind: OptionKind.API
203  },
204  standardFontDataUrl: {
205    value: "../web/standard_fonts/",
206    kind: OptionKind.API
207  },
208  verbosity: {
209    value: 1,
210    kind: OptionKind.API
211  },
212  workerPort: {
213    value: null,
214    kind: OptionKind.WORKER
215  },
216  workerSrc: {
217    value: "../build/pdf.worker.js",
218    kind: OptionKind.WORKER
219  }
220};
221{
222  defaultOptions.disablePreferences = {
223    value: false,
224    kind: OptionKind.VIEWER
225  };
226  defaultOptions.locale = {
227    value: typeof navigator !== "undefined" ? navigator.language : "en-US",
228    kind: OptionKind.VIEWER
229  };
230  defaultOptions.sandboxBundleSrc = {
231    value: "../build/pdf.sandbox.js",
232    kind: OptionKind.VIEWER
233  };
234  defaultOptions.renderer.kind += OptionKind.PREFERENCE;
235}
236var userOptions = Object.create(null);
237
238var AppOptions = /*#__PURE__*/function () {
239  function AppOptions() {
240    _classCallCheck(this, AppOptions);
241
242    throw new Error("Cannot initialize AppOptions.");
243  }
244
245  _createClass(AppOptions, null, [{
246    key: "get",
247    value: function get(name) {
248      var userOption = userOptions[name];
249
250      if (userOption !== undefined) {
251        return userOption;
252      }
253
254      var defaultOption = defaultOptions[name];
255
256      if (defaultOption !== undefined) {
257        var _defaultOption$compat;
258
259        return (_defaultOption$compat = defaultOption.compatibility) !== null && _defaultOption$compat !== void 0 ? _defaultOption$compat : defaultOption.value;
260      }
261
262      return undefined;
263    }
264  }, {
265    key: "getAll",
266    value: function getAll() {
267      var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
268      var options = Object.create(null);
269
270      for (var name in defaultOptions) {
271        var _defaultOption$compat2;
272
273        var defaultOption = defaultOptions[name];
274
275        if (kind) {
276          if ((kind & defaultOption.kind) === 0) {
277            continue;
278          }
279
280          if (kind === OptionKind.PREFERENCE) {
281            var value = defaultOption.value,
282                valueType = _typeof(value);
283
284            if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) {
285              options[name] = value;
286              continue;
287            }
288
289            throw new Error("Invalid type for preference: ".concat(name));
290          }
291        }
292
293        var userOption = userOptions[name];
294        options[name] = userOption !== undefined ? userOption : (_defaultOption$compat2 = defaultOption.compatibility) !== null && _defaultOption$compat2 !== void 0 ? _defaultOption$compat2 : defaultOption.value;
295      }
296
297      return options;
298    }
299  }, {
300    key: "set",
301    value: function set(name, value) {
302      userOptions[name] = value;
303    }
304  }, {
305    key: "setAll",
306    value: function setAll(options) {
307      for (var name in options) {
308        userOptions[name] = options[name];
309      }
310    }
311  }, {
312    key: "remove",
313    value: function remove(name) {
314      delete userOptions[name];
315    }
316  }]);
317
318  return AppOptions;
319}();
320
321exports.AppOptions = AppOptions;
322
323/***/ }),
324/* 2 */
325/***/ ((__unused_webpack_module, exports) => {
326
327
328
329Object.defineProperty(exports, "__esModule", ({
330  value: true
331}));
332exports.viewerCompatibilityParams = void 0;
333var compatibilityParams = Object.create(null);
334{
335  var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
336  var platform = typeof navigator !== "undefined" && navigator.platform || "";
337  var maxTouchPoints = typeof navigator !== "undefined" && navigator.maxTouchPoints || 1;
338  var isAndroid = /Android/.test(userAgent);
339  var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1;
340  var isIOSChrome = /CriOS/.test(userAgent);
341
342  (function checkOnBlobSupport() {
343    if (isIOSChrome) {
344      compatibilityParams.disableCreateObjectURL = true;
345    }
346  })();
347
348  (function checkCanvasSizeLimitation() {
vendor: 5,617 bytes, lines 349-442
349    if (isIOS || isAndroid) {
350      compatibilityParams.maxCanvasPixels = 5242880;
351    }
352  })();
353}
354var viewerCompatibilityParams = Object.freeze(compatibilityParams);
355exports.viewerCompatibilityParams = viewerCompatibilityParams;
356
357/***/ }),
358/* 3 */
359/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
360
361
362
363Object.defineProperty(exports, "__esModule", ({
364  value: true
365}));
366exports.PDFViewerApplication = exports.PDFPrintServiceFactory = exports.DefaultExternalServices = void 0;
367
368var _regenerator = _interopRequireDefault(__webpack_require__(4));
369
370var _ui_utils = __webpack_require__(6);
371
372var _app_options = __webpack_require__(1);
373
374var _pdfjsLib = __webpack_require__(7);
375
376var _pdf_cursor_tools = __webpack_require__(8);
377
378var _pdf_rendering_queue = __webpack_require__(10);
379
380var _overlay_manager = __webpack_require__(11);
381
382var _password_prompt = __webpack_require__(12);
383
384var _pdf_attachment_viewer = __webpack_require__(13);
385
386var _pdf_document_properties = __webpack_require__(15);
387
388var _pdf_find_bar = __webpack_require__(16);
389
390var _pdf_find_controller = __webpack_require__(17);
391
392var _pdf_history = __webpack_require__(19);
393
394var _pdf_layer_viewer = __webpack_require__(20);
395
396var _pdf_link_service = __webpack_require__(21);
397
398var _pdf_outline_viewer = __webpack_require__(22);
399
400var _pdf_presentation_mode = __webpack_require__(23);
401
402var _pdf_scripting_manager = __webpack_require__(24);
403
404var _pdf_sidebar = __webpack_require__(25);
405
406var _pdf_sidebar_resizer = __webpack_require__(26);
407
408var _pdf_thumbnail_viewer = __webpack_require__(27);
409
410var _pdf_viewer = __webpack_require__(29);
411
412var _secondary_toolbar = __webpack_require__(37);
413
414var _toolbar = __webpack_require__(39);
415
416var _viewer_compatibility = __webpack_require__(2);
417
418var _view_history = __webpack_require__(40);
419
420function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
421
422function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
423
424function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
425
426function _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; }
427
428function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
429
430function _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."); }
431
432function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
433
434function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
435
436function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, 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; } } }; }
437
438function _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); }
439
440function _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; }
441
442function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
442y { 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); } }
443
444function _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); }); }; }
445
446function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
447
448function _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); } }
449
450function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
451
452var DEFAULT_SCALE_DELTA = 1.1;
453var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
454var FORCE_PAGES_LOADED_TIMEOUT = 10000;
455var WHEEL_ZOOM_DISABLED_TIMEOUT = 1000;
456var ENABLE_PERMISSIONS_CLASS = "enablePermissions";
457var ViewOnLoad = {
458  UNKNOWN: -1,
459  PREVIOUS: 0,
460  INITIAL: 1
461};
462var ViewerCssTheme = {
463  AUTOMATIC: 0,
464  LIGHT: 1,
465  DARK: 2
466};
467var KNOWN_VERSIONS = ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0", "2.1", "2.2", "2.3"];
468var KNOWN_GENERATORS = ["acrobat distiller", "acrobat pdfwriter", "adobe livecycle", "adobe pdf library", "adobe photoshop", "ghostscript", "tcpdf", "cairo", "dvipdfm", "dvips", "pdftex", "pdfkit", "itext", "prince", "quarkxpress", "mac os x", "microsoft", "openoffice", "oracle", "luradocument", "pdf-xchange", "antenna house", "aspose.cells", "fpdf"];
469
470var DefaultExternalServices = /*#__PURE__*/function () {
471  function DefaultExternalServices() {
472    _classCallCheck(this, DefaultExternalServices);
473
474    throw new Error("Cannot initialize DefaultExternalServices.");
475  }
476
477  _createClass(DefaultExternalServices, null, [{
478    key: "updateFindControlState",
479    value: function updateFindControlState(data) {}
480  }, {
481    key: "updateFindMatchesCount",
482    value: function updateFindMatchesCount(data) {}
483  }, {
484    key: "initPassiveLoading",
485    value: function initPassiveLoading(callbacks) {}
486  }, {
487    key: "fallback",
488    value: function () {
489      var _fallback = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) {
490        return _regenerator["default"].wrap(function _callee$(_context) {
491          while (1) {
492            switch (_context.prev = _context.next) {
493              case 0:
494              case "end":
495                return _context.stop();
496            }
497          }
498        }, _callee);
499      }));
500
501      function fallback(_x) {
502        return _fallback.apply(this, arguments);
503      }
504
505      return fallback;
506    }()
507  }, {
508    key: "reportTelemetry",
509    value: function reportTelemetry(data) {}
510  }, {
511    key: "createDownloadManager",
512    value: function createDownloadManager(options) {
513      throw new Error("Not implemented: createDownloadManager");
514    }
515  }, {
516    key: "createPreferences",
517    value: function createPreferences() {
518      throw new Error("Not implemented: createPreferences");
519    }
520  }, {
521    key: "createL10n",
522    value: function createL10n(options) {
523      throw new Error("Not implemented: createL10n");
524    }
525  }, {
526    key: "createScripting",
527    value: function createScripting(options) {
528      throw new Error("Not implemented: createScripting");
529    }
530  }, {
531    key: "supportsIntegratedFind",
532    get: function get() {
533      return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false);
534    }
535  }, {
536    key: "supportsDocumentFonts",
537    get: function get() {
538      return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true);
539    }
540  }, {
541    key: "supportedMouseWheelZoomModifierKeys",
542    get: function get() {
543      return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", {
544        ctrlKey: true,
545        metaKey: true
546      });
547    }
548  }, {
549    key: "isInAutomation",
550    get: function get() {
551      return (0, _pdfjsLib.shadow)(this, "isInAutomation", false);
552    }
553  }]);
554
555  return DefaultExternalServices;
556}();
557
558exports.DefaultExternalServices = DefaultExternalServices;
559var PDFViewerApplication = {
560  initialBookmark: document.location.hash.substring(1),
561  _initializedCapability: (0, _pdfjsLib.createPromiseCapability)(),
562  _fellback: false,
563  appConfig: null,
564  pdfDocument: null,
565  pdfLoadingTask: null,
566  printService: null,
567  pdfViewer: null,
568  pdfThumbnailViewer: null,
569  pdfRenderingQueue: null,
570  pdfPresentationMode: null,
571  pdfDocumentProperties: null,
572  pdfLinkService: null,
573  pdfHistory: null,
574  pdfSidebar: null,
575  pdfSidebarResizer: null,
576  pdfOutlineViewer: null,
577  pdfAttachmentViewer: null,
578  pdfLayerViewer: null,
579  pdfCursorTools: null,
580  pdfScriptingManager: null,
581  store: null,
582  downloadManager: null,
583  overlayManager: null,
584  preferences: null,
585  toolbar: null,
586  secondaryToolbar: null,
587  eventBus: null,
588  l10n: null,
589  isInitialViewSet: false,
590  downloadComplete: false,
591  isViewerEmbedded: window.parent !== window,
592  url: "",
593  baseUrl: "",
594  externalServices: DefaultExternalServices,
595  _boundEvents: Object.create(null),
596  documentInfo: null,
597  metadata: null,
598  _contentDispositionFilename: null,
599  _contentLength: null,
600  _saveInProgress: false,
601  _wheelUnusedTicks: 0,
602  _idleCallbacks: new Set(),
603  initialize: function initialize(appConfig) {
604    var _this = this;
605
606    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
607      var appContainer;
608      return _regenerator["default"].wrap(function _callee2$(_context2) {
609        while (1) {
610          switch (_context2.prev = _context2.next) {
611            case 0:
612              _this.preferences = _this.externalServices.createPreferences();
613              _this.appConfig = appConfig;
614              _context2.next = 4;
615              return _this._readPreferences();
616
617            case 4:
618              _context2.next = 6;
619              return _this._parseHashParameters();
620
621            case 6:
622              _this._forceCssTheme();
623
624              _context2.next = 9;
625              return _this._initializeL10n();
626
627            case 9:
628              if (_this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === _pdfjsLib.LinkTarget.NONE) {
629                _app_options.AppOptions.set("externalLinkTarget", _pdfjsLib.LinkTarget.TOP);
630              }
631
632              _context2.next = 12;
633              return _this._initializeViewerComponents();
634
635            case 12:
636              _this.bindEvents();
637
638              _this.bindWindowEvents();
639
640              appContainer = appConfig.appContainer || document.documentElement;
641
642              _this.l10n.translate(appContainer).then(function () {
643                _this.eventBus.dispatch("localized", {
644                  source: _this
645                });
646              });
647
648              _this._initializedCapability.resolve();
649
650            case 17:
651            case "end":
652              return _context2.stop();
653          }
654        }
655      }, _callee2);
656    }))();
657  },
658  _readPreferences: function _readPreferences() {
659    var _this2 = this;
660
661    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
662      return _regenerator["default"].wrap(function _callee3$(_context3) {
663        while (1) {
664          switch (_context3.prev = _context3.next) {
665            case 0:
666              if (!_app_options.AppOptions.get("disablePreferences")) {
667                _context3.next = 2;
668                break;
669              }
670
671              return _context3.abrupt("return");
672
673            case 2:
674              _context3.prev = 2;
675              _context3.t0 = _app_options.AppOptions;
676              _context3.next = 6;
677              return _this2.preferences.getAll();
678
679            case 6:
680              _context3.t1 = _context3.sent;
681
682              _context3.t0.setAll.call(_context3.t0, _context3.t1);
683
684              _context3.next = 13;
685              break;
686
687            case 10:
688              _context3.prev = 10;
689              _context3.t2 = _context3["catch"](2);
690              console.error("_readPreferences: \"".concat(_context3.t2 === null || _context3.t2 === void 0 ? void 0 : _context3.t2.message, "\"."));
691
692            case 13:
693            case "end":
694              return _context3.stop();
695          }
696        }
697      }, _callee3, null, [[2, 10]]);
698    }))();
699  },
700  _parseHashParameters: function _parseHashParameters() {
701    var _this3 = this;
702
703    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
704      var hash, hashParams, waitOn, viewer, enabled;
705      return _regenerator["default"].wrap(function _callee4$(_context4) {
706        while (1) {
707          switch (_context4.prev = _context4.next) {
708            case 0:
709              if (_app_options.AppOptions.get("pdfBugEnabled")) {
710                _context4.next = 2;
711                break;
712              }
713
714              return _context4.abrupt("return", undefined);
715
716            case 2:
717              hash = document.location.hash.substring(1);
718
719              if (hash) {
720                _context4.next = 5;
721                break;
722              }
723
724              return _context4.abrupt("return", undefined);
725
726            case 5:
727              hashParams = (0, _ui_utils.parseQueryString)(hash), waitOn = [];
728
729              if ("disableworker" in hashParams && hashParams.disableworker === "true") {
730                waitOn.push(loadFakeWorker());
731              }
732
733              if ("disablerange" in hashParams) {
734                _app_options.AppOptions.set("disableRange", hashParams.disablerange === "true");
735              }
736
737              if ("disablestream" in hashParams) {
738                _app_options.AppOptions.set("disableStream", hashParams.disablestream === "true");
739              }
740
741              if ("disableautofetch" in hashParams) {
742                _app_options.AppOptions.set("disableAutoFetch", hashParams.disableautofetch === "true");
743              }
744
745              if ("disablefontface" in hashParams) {
746                _app_options.AppOptions.set("disableFontFace", hashParams.disablefontface === "true");
747              }
748
749              if ("disablehistory" in hashParams) {
750                _app_options.AppOptions.set("disableHistory", hashParams.disablehistory === "true");
751              }
752
753              if ("verbosity" in hashParams) {
754                _app_options.AppOptions.set("verbosity", hashParams.verbosity | 0);
755              }
756
757              if (!("textlayer" in hashParams)) {
758                _context4.next = 22;
759                break;
760              }
761
762              _context4.t0 = hashParams.textlayer;
763              _context4.next = _context4.t0 === "off" ? 17 : _context4.t0 === "visible" ? 19 : _context4.t0 === "shadow" ? 19 : _context4.t0 === "hover" ? 19 : 22;
764              break;
765
766            case 17:
767              _app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE);
768
769              return _context4.abrupt("break", 22);
770
771            case 19:
772              viewer = _this3.appConfig.viewerContainer;
773              viewer.classList.add("textLayer-" + hashParams.textlayer);
774              return _context4.abrupt("break", 22);
775
776            case 22:
777              if ("pdfbug" in hashParams) {
778                _app_options.AppOptions.set("pdfBug", true);
779
780                _app_options.AppOptions.set("fontExtraProperties", true);
781
782                enabled = hashParams.pdfbug.split(",");
783                waitOn.push(loadAndEnablePDFBug(enabled));
784              }
785
786              if ("locale" in hashParams) {
787                _app_options.AppOptions.set("locale", hashParams.locale);
788              }
789
790              if (!(waitOn.length === 0)) {
791                _context4.next = 26;
792                break;
793              }
794
795              return _context4.abrupt("return", undefined);
796
797            case 26:
798              return _context4.abrupt("return", Promise.all(waitOn)["catch"](function (reason) {
799                console.error("_parseHashParameters: \"".concat(reason.message, "\"."));
800              }));
801
802            case 27:
803            case "end":
804              return _context4.stop();
805          }
806        }
807      }, _callee4);
808    }))();
809  },
810  _initializeL10n: function _initializeL10n() {
811    var _this4 = this;
812
813    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
814      var dir;
815      return _regenerator["default"].wrap(function _callee5$(_context5) {
816        while (1) {
817          switch (_context5.prev = _context5.next) {
818            case 0:
819              _this4.l10n = _this4.externalServices.createL10n({
820                locale: _app_options.AppOptions.get("locale")
821              });
822              _context5.next = 3;
823              return _this4.l10n.getDirection();
824
825            case 3:
826              dir = _context5.sent;
827              document.getElementsByTagName("html")[0].dir = dir;
828
829            case 5:
830            case "end":
831              return _context5.stop();
832          }
833        }
834      }, _callee5);
835    }))();
836  },
837  _forceCssTheme: function _forceCssTheme() {
838    var cssTheme = _app_options.AppOptions.get("viewerCssTheme");
839
840    if (cssTheme === ViewerCssTheme.AUTOMATIC || !Object.values(ViewerCssTheme).includes(cssTheme)) {
841      return;
842    }
843
844    try {
845      var styleSheet = document.styleSheets[0];
846      var cssRules = (styleSheet === null || styleSheet === void 0 ? void 0 : styleSheet.cssRules) || [];
847      var mediaMatcher = "prefers-color-scheme";
848      var mediaRule = "(".concat(mediaMatcher, ": dark)");
849      var mediaRegex = new RegExp("^@media \\(".concat(mediaMatcher, ": dark\\) {\\n\\s*([\\w\\s-.,:;/\\\\{}()]+)\\n}$"));
850
851      for (var i = 0, ii = cssRules.length; i < ii; i++) {
852        var _rule$media;
853
854        var rule = cssRules[i];
855
856        if (rule instanceof CSSMediaRule && ((_rule$media = rule.media) === null || _rule$media === void 0 ? void 0 : _rule$media[0]) === mediaRule) {
857          if (cssTheme === ViewerCssTheme.LIGHT) {
858            styleSheet.deleteRule(i);
859            return;
860          }
861
862          var darkRules = mediaRegex.exec(rule.cssText);
863
864          if (darkRules !== null && darkRules !== void 0 && darkRules[1]) {
865            styleSheet.deleteRule(i);
866            styleSheet.insertRule(darkRules[1], i);
867          }
868
869          return;
870        }
871      }
872    } catch (reason) {
873      console.error("_forceCssTheme: \"".concat(reason === null || reason === void 0 ? void 0 : reason.message, "\"."));
874    }
875  },
876  _initializeViewerComponents: function _initializeViewerComponents() {
877    var _this5 = this;
878
879    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
880      var appConfig, eventBus, pdfRenderingQueue, pdfLinkService, downloadManager, findController, pdfScriptingManager, container, viewer;
881      return _regenerator["default"].wrap(function _callee6$(_context6) {
882        while (1) {
883          switch (_context6.prev = _context6.next) {
884            case 0:
885              appConfig = _this5.appConfig;
886              eventBus = appConfig.eventBus || new _ui_utils.EventBus({
887                isInAutomation: _this5.externalServices.isInAutomation
888              });
889              _this5.eventBus = eventBus;
890              _this5.overlayManager = new _overlay_manager.OverlayManager();
891              pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
892              pdfRenderingQueue.onIdle = _this5._cleanup.bind(_this5);
893              _this5.pdfRenderingQueue = pdfRenderingQueue;
894              pdfLinkService = new _pdf_link_service.PDFLinkService({
895                eventBus: eventBus,
896                externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"),
897                externalLinkRel: _app_options.AppOptions.get("externalLinkRel"),
898                ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom")
899              });
900              _this5.pdfLinkService = pdfLinkService;
901              downloadManager = _this5.externalServices.createDownloadManager();
902              _this5.downloadManager = downloadManager;
903              findController = new _pdf_find_controller.PDFFindController({
904                linkService: pdfLinkService,
905                eventBus: eventBus
906              });
907              _this5.findController = findController;
908              pdfScriptingManager = new _pdf_scripting_manager.PDFScriptingManager({
909                eventBus: eventBus,
910                sandboxBundleSrc: _app_options.AppOptions.get("sandboxBundleSrc"),
911                scriptingFactory: _this5.externalServices,
912                docPropertiesLookup: _this5._scriptingDocProperties.bind(_this5)
913              });
914              _this5.pdfScriptingManager = pdfScriptingManager;
915              container = appConfig.mainContainer;
916              viewer = appConfig.viewerContainer;
917              _this5.pdfViewer = new _pdf_viewer.PDFViewer({
918                container: container,
919                viewer: viewer,
920                eventBus: eventBus,
921                renderingQueue: pdfRenderingQueue,
922                linkService: pdfLinkService,
923                downloadManager: downloadManager,
924                findController: findController,
925                scriptingManager: pdfScriptingManager,
926                renderer: _app_options.AppOptions.get("renderer"),
927                l10n: _this5.l10n,
928                textLayerMode: _app_options.AppOptions.get("textLayerMode"),
929                imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"),
930                renderInteractiveForms: _app_options.AppOptions.get("renderInteractiveForms"),
931                enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"),
932                useOnlyCssZoom: _app_options.AppOptions.get("useOnlyCssZoom"),
933                maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels"),
934                enableScripting: _app_options.AppOptions.get("enableScripting")
935              });
936              pdfRenderingQueue.setViewer(_this5.pdfViewer);
937              pdfLinkService.setViewer(_this5.pdfViewer);
938              pdfScriptingManager.setViewer(_this5.pdfViewer);
939              _this5.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({
940                container: appConfig.sidebar.thumbnailView,
941                eventBus: eventBus,
942                renderingQueue: pdfRenderingQueue,
943                linkService: pdfLinkService,
944                l10n: _this5.l10n
945              });
946              pdfRenderingQueue.setThumbnailViewer(_this5.pdfThumbnailViewer);
947              _this5.pdfHistory = new _pdf_history.PDFHistory({
948                linkService: pdfLinkService,
949                eventBus: eventBus
950              });
951              pdfLinkService.setHistory(_this5.pdfHistory);
952
953              if (!_this5.supportsIntegratedFind) {
954                _this5.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, _this5.l10n);
955              }
956
957              _this5.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, _this5.overlayManager, eventBus, _this5.l10n);
958              _this5.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({
959                container: container,
960                eventBus: eventBus,
961                cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad")
962              });
963              _this5.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, _this5.l10n);
964              _this5.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus);
965
966              if (_this5.supportsFullscreen) {
967                _this5.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({
968                  container: container,
969                  pdfViewer: _this5.pdfViewer,
970                  eventBus: eventBus
971                });
972              }
973
974              _this5.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, _this5.overlayManager, _this5.l10n, _this5.isViewerEmbedded);
975              _this5.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({
976                container: appConfig.sidebar.outlineView,
977                eventBus: eventBus,
978                linkService: pdfLinkService
979              });
980              _this5.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({
981                container: appConfig.sidebar.attachmentsView,
982                eventBus: eventBus,
983                downloadManager: downloadManager
984              });
985              _this5.pdfLayerViewer = new _pdf_layer_viewer.PDFLayerViewer({
986                container: appConfig.sidebar.layersView,
987                eventBus: eventBus,
988                l10n: _this5.l10n
989              });
990              _this5.pdfSidebar = new _pdf_sidebar.PDFSidebar({
991                elements: appConfig.sidebar,
992                pdfViewer: _this5.pdfViewer,
993                pdfThumbnailViewer: _this5.pdfThumbnailViewer,
994                eventBus: eventBus,
995                l10n: _this5.l10n
996              });
997              _this5.pdfSidebar.onToggled = _this5.forceRendering.bind(_this5);
998              _this5.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, _this5.l10n);
999
1000            case 38:
1001            case "end":
1002              return _context6.stop();
1003          }
1004        }
1005      }, _callee6);
1006    }))();
1007  },
1008  run: function run(config) {
1009    this.initialize(config).then(webViewerInitialized);
1010  },
1011
1012  get initialized() {
1013    return this._initializedCapability.settled;
1014  },
1015
1016  get initializedPromise() {
1017    return this._initializedCapability.promise;
1018  },
1019
1020  zoomIn: function zoomIn(ticks) {
1021    if (this.pdfViewer.isInPresentationMode) {
1022      return;
1023    }
1024
1025    var newScale = this.pdfViewer.currentScale;
1026
1027    do {
1028      newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2);
1029      newScale = Math.ceil(newScale * 10) / 10;
1030      newScale = Math.min(_ui_utils.MAX_SCALE, newScale);
1031    } while (--ticks > 0 && newScale < _ui_utils.MAX_SCALE);
1032
1033    this.pdfViewer.currentScaleValue = newScale;
1034  },
1035  zoomOut: function zoomOut(ticks) {
1036    if (this.pdfViewer.isInPresentationMode) {
1037      return;
1038    }
1039
1040    var newScale = this.pdfViewer.currentScale;
1041
1042    do {
1043      newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2);
1044      newScale = Math.floor(newScale * 10) / 10;
1045      newScale = Math.max(_ui_utils.MIN_SCALE, newScale);
1046    } while (--ticks > 0 && newScale > _ui_utils.MIN_SCALE);
1047
1048    this.pdfViewer.currentScaleValue = newScale;
1049  },
1050  zoomReset: function zoomReset() {
1051    if (this.pdfViewer.isInPresentationMode) {
1052      return;
1053    }
1054
1055    this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
1056  },
1057
1058  get pagesCount() {
1059    return this.pdfDocument ? this.pdfDocument.numPages : 0;
1060  },
1061
1062  get page() {
1063    return this.pdfViewer.currentPageNumber;
1064  },
1065
1066  set page(val) {
1067    this.pdfViewer.currentPageNumber = val;
1068  },
1069
1070  get supportsPrinting() {
1071    return PDFPrintServiceFactory.instance.supportsPrinting;
1072  },
1073
1074  get supportsFullscreen() {
1075    var doc = document.documentElement;
1076    var support = !!(doc.requestFullscreen || doc.mozRequestFullScreen || doc.webkitRequestFullScreen);
1077
1078    if (document.fullscreenEnabled === false || document.mozFullScreenEnabled === false || document.webkitFullscreenEnabled === false) {
1079      support = false;
1080    }
1081
1082    return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", support);
1083  },
1084
1085  get supportsIntegratedFind() {
1086    return this.externalServices.supportsIntegratedFind;
1087  },
1088
1089  get supportsDocumentFonts() {
1090    return this.externalServices.supportsDocumentFonts;
1091  },
1092
1093  get loadingBar() {
1094    var bar = new _ui_utils.ProgressBar("#loadingBar");
1095    return (0, _pdfjsLib.shadow)(this, "loadingBar", bar);
1096  },
1097
1098  get supportedMouseWheelZoomModifierKeys() {
1099    return this.externalServices.supportedMouseWheelZoomModifierKeys;
1100  },
1101
1102  initPassiveLoading: function initPassiveLoading() {
1103    throw new Error("Not implemented: initPassiveLoading");
1104  },
1105  setTitleUsingUrl: function setTitleUsingUrl() {
1106    var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
1107    this.url = url;
1108    this.baseUrl = url.split("#")[0];
1109    var title = (0, _pdfjsLib.getPdfFilenameFromUrl)(url, "");
1110
1111    if (!title) {
1112      try {
1113        title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url;
1114      } catch (ex) {
1115        title = url;
1116      }
1117    }
1118
1119    this.setTitle(title);
1120  },
1121  setTitle: function setTitle(title) {
1122    if (this.isViewerEmbedded) {
1123      return;
1124    }
1125
1126    document.title = title;
1127  },
1128
1129  get _docFilename() {
1130    return this._contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url);
1131  },
1132
1133  _cancelIdleCallbacks: function _cancelIdleCallbacks() {
1134    if (!this._idleCallbacks.size) {
1135      return;
1136    }
1137
1138    var _iterator = _createForOfIteratorHelper(this._idleCallbacks),
1139        _step;
1140
1141    try {
1142      for (_iterator.s(); !(_step = _iterator.n()).done;) {
1143        var callback = _step.value;
1144        window.cancelIdleCallback(callback);
1145      }
1146    } catch (err) {
1147      _iterator.e(err);
1148    } finally {
1149      _iterator.f();
1150    }
1151
1152    this._idleCallbacks.clear();
1153  },
1154  close: function close() {
1155    var _this6 = this;
1156
1157    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
1158      var _this6$pdfDocument;
1159
1160      var container, promises;
1161      return _regenerator["default"].wrap(function _callee7$(_context7) {
1162        while (1) {
1163          switch (_context7.prev = _context7.next) {
1164            case 0:
1165              _this6._unblockDocumentLoadEvent();
1166
1167              container = _this6.appConfig.errorWrapper.container;
1168              container.hidden = true;
1169
1170              if (_this6.pdfLoadingTask) {
1171                _context7.next = 5;
1172                break;
1173              }
1174
1175              return _context7.abrupt("return");
1176
1177            case 5:
1178              if (!(((_this6$pdfDocument = _this6.pdfDocument) === null || _this6$pdfDocument === void 0 ? void 0 : _this6$pdfDocument.annotationStorage.size) > 0 && _this6._annotationStorageModified)) {
1179                _context7.next = 13;
1180                break;
1181              }
1182
1183              _context7.prev = 6;
1184              _context7.next = 9;
1185              return _this6.save({
1186                sourceEventType: "save"
1187              });
1188
1189            case 9:
1190              _context7.next = 13;
1191              break;
1192
1193            case 11:
1194              _context7.prev = 11;
1195              _context7.t0 = _context7["catch"](6);
1196
1197            case 13:
1198              promises = [];
1199              promises.push(_this6.pdfLoadingTask.destroy());
1200              _this6.pdfLoadingTask = null;
1201
1202              if (_this6.pdfDocument) {
1203                _this6.pdfDocument = null;
1204
1205                _this6.pdfThumbnailViewer.setDocument(null);
1206
1207                _this6.pdfViewer.setDocument(null);
1208
1209                _this6.pdfLinkService.setDocument(null);
1210
1211                _this6.pdfDocumentProperties.setDocument(null);
1212              }
1213
1214              webViewerResetPermissions();
1215              _this6.pdfLinkService.externalLinkEnabled = true;
1216              _this6._fellback = false;
1217              _this6.store = null;
1218              _this6.isInitialViewSet = false;
1219              _this6.downloadComplete = false;
1220              _this6.url = "";
1221              _this6.baseUrl = "";
1222              _this6.documentInfo = null;
1223              _this6.metadata = null;
1224              _this6._contentDispositionFilename = null;
1225              _this6._contentLength = null;
1226              _this6._saveInProgress = false;
1227
1228              _this6._cancelIdleCallbacks();
1229
1230              promises.push(_this6.pdfScriptingManager.destroyPromise);
1231
1232              _this6.pdfSidebar.reset();
1233
1234              _this6.pdfOutlineViewer.reset();
1235
1236              _this6.pdfAttachmentViewer.reset();
1237
1238              _this6.pdfLayerViewer.reset();
1239
1240              if (_this6.pdfHistory) {
1241                _this6.pdfHistory.reset();
1242              }
1243
1244              if (_this6.findBar) {
1245                _this6.findBar.reset();
1246              }
1247
1248              _this6.toolbar.reset();
1249
1250              _this6.secondaryToolbar.reset();
1251
1252              if (typeof PDFBug !== "undefined") {
1253                PDFBug.cleanup();
1254              }
1255
1256              _context7.next = 43;
1257              return Promise.all(promises);
1258
1259            case 43:
1260            case "end":
1261              return _context7.stop();
1262          }
1263        }
1264      }, _callee7, null, [[6, 11]]);
1265    }))();
1266  },
1267  open: function open(file, args) {
1268    var _this7 = this;
1269
1270    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
1271      var workerParameters, key, parameters, apiParameters, _key, value, _key2, loadingTask;
1272
1273      return _regenerator["default"].wrap(function _callee8$(_context8) {
1274        while (1) {
1275          switch (_context8.prev = _context8.next) {
1276            case 0:
1277              if (!_this7.pdfLoadingTask) {
1278                _context8.next = 3;
1279                break;
1280              }
1281
1282              _context8.next = 3;
1283              return _this7.close();
1284
1285            case 3:
1286              workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER);
1287
1288              for (key in workerParameters) {
1289                _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key];
1290              }
1291
1292              parameters = Object.create(null);
1293
1294              if (typeof file === "string") {
1295                _this7.setTitleUsingUrl(file);
1296
1297                parameters.url = file;
1298              } else if (file && "byteLength" in file) {
1299                parameters.data = file;
1300              } else if (file.url && file.originalUrl) {
1301                _this7.setTitleUsingUrl(file.originalUrl);
1302
1303                parameters.url = file.url;
1304              }
1305
1306              apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API);
1307
1308              for (_key in apiParameters) {
1309                value = apiParameters[_key];
1310
1311                if (_key === "docBaseUrl" && !value) {}
1312
1313                parameters[_key] = value;
1314              }
1315
1316              if (args) {
1317                for (_key2 in args) {
1318                  parameters[_key2] = args[_key2];
1319                }
1320              }
1321
1322              loadingTask = (0, _pdfjsLib.getDocument)(parameters);
1323              _this7.pdfLoadingTask = loadingTask;
1324
1325              loadingTask.onPassword = function (updateCallback, reason) {
1326                _this7.pdfLinkService.externalLinkEnabled = false;
1327
1328                _this7.passwordPrompt.setUpdateCallback(updateCallback, reason);
1329
1330                _this7.passwordPrompt.open();
1331              };
1332
1333              loadingTask.onProgress = function (_ref) {
1334                var loaded = _ref.loaded,
1335                    total = _ref.total;
1336
1337                _this7.progress(loaded / total);
1338              };
1339
1340              loadingTask.onUnsupportedFeature = _this7.fallback.bind(_this7);
1341              return _context8.abrupt("return", loadingTask.promise.then(function (pdfDocument) {
1342                _this7.load(pdfDocument);
1343              }, function (exception) {
1344                if (loadingTask !== _this7.pdfLoadingTask) {
1345                  return undefined;
1346                }
1347
1348                var key = "loading_error";
1349
1350                if (exception instanceof _pdfjsLib.InvalidPDFException) {
1351                  key = "invalid_file_error";
1352                } else if (exception instanceof _pdfjsLib.MissingPDFException) {
1353                  key = "missing_file_error";
1354                } else if (exception instanceof _pdfjsLib.UnexpectedResponseException) {
1355                  key = "unexpected_response_error";
1356                }
1357
1358                return _this7.l10n.get(key).then(function (msg) {
1359                  _this7._documentError(msg, {
1360                    message: exception === null || exception === void 0 ? void 0 : exception.message
1361                  });
1362
1363                  throw exception;
1364                });
1365              }));
1366
1367            case 16:
1368            case "end":
1369              return _context8.stop();
1370          }
1371        }
1372      }, _callee8);
1373    }))();
1374  },
1375  _ensureDownloadComplete: function _ensureDownloadComplete() {
1376    if (this.pdfDocument && this.downloadComplete) {
1377      return;
1378    }
1379
1380    throw new Error("PDF document not downloaded.");
1381  },
1382  download: function download() {
1383    var _arguments = arguments,
1384        _this8 = this;
1385
1386    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
1387      var _ref2, _ref2$sourceEventType, sourceEventType, url, filename, data, blob;
1388
1389      return _regenerator["default"].wrap(function _callee9$(_context9) {
1390        while (1) {
1391          switch (_context9.prev = _context9.next) {
1392            case 0:
1393              _ref2 = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {}, _ref2$sourceEventType = _ref2.sourceEventType, sourceEventType = _ref2$sourceEventType === void 0 ? "download" : _ref2$sourceEventType;
1394              url = _this8.baseUrl, filename = _this8._docFilename;
1395              _context9.prev = 2;
1396
1397              _this8._ensureDownloadComplete();
1398
1399              _context9.next = 6;
1400              return _this8.pdfDocument.getData();
1401
1402            case 6:
1403              data = _context9.sent;
1404              blob = new Blob([data], {
1405                type: "application/pdf"
1406              });
1407              _context9.next = 10;
1408              return _this8.downloadManager.download(blob, url, filename, sourceEventType);
1409
1410            case 10:
1411              _context9.next = 16;
1412              break;
1413
1414            case 12:
1415              _context9.prev = 12;
1416              _context9.t0 = _context9["catch"](2);
1417              _context9.next = 16;
1418              return _this8.downloadManager.downloadUrl(url, filename);
1419
1420            case 16:
1421            case "end":
1422              return _context9.stop();
1423          }
1424        }
1425      }, _callee9, null, [[2, 12]]);
1426    }))();
1427  },
1428  save: function save() {
1429    var _arguments2 = arguments,
1430        _this9 = this;
1431
1432    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
1433      var _ref3, _ref3$sourceEventType, sourceEventType, url, filename, data, blob;
1434
1435      return _regenerator["default"].wrap(function _callee10$(_context10) {
1436        while (1) {
1437          switch (_context10.prev = _context10.next) {
1438            case 0:
1439              _ref3 = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {}, _ref3$sourceEventType = _ref3.sourceEventType, sourceEventType = _ref3$s
1439ourceEventType === void 0 ? "download" : _ref3$sourceEventType;
1440
1441              if (!_this9._saveInProgress) {
1442                _context10.next = 3;
1443                break;
1444              }
1445
1446              return _context10.abrupt("return");
1447
1448            case 3:
1449              _this9._saveInProgress = true;
1450              _context10.next = 6;
1451              return _this9.pdfScriptingManager.dispatchWillSave();
1452
1453            case 6:
1454              url = _this9.baseUrl, filename = _this9._docFilename;
1455              _context10.prev = 7;
1456
1457              _this9._ensureDownloadComplete();
1458
1459              _context10.next = 11;
1460              return _this9.pdfDocument.saveDocument();
1461
1462            case 11:
1463              data = _context10.sent;
1464              blob = new Blob([data], {
1465                type: "application/pdf"
1466              });
1467              _context10.next = 15;
1468              return _this9.downloadManager.download(blob, url, filename, sourceEventType);
1469
1470            case 15:
1471              _context10.next = 21;
1472              break;
1473
1474            case 17:
1475              _context10.prev = 17;
1476              _context10.t0 = _context10["catch"](7);
1477              _context10.next = 21;
1478              return _this9.download({
1479                sourceEventType: sourceEventType
1480              });
1481
1482            case 21:
1483              _context10.prev = 21;
1484              _context10.next = 24;
1485              return _this9.pdfScriptingManager.dispatchDidSave();
1486
1487            case 24:
1488              _this9._saveInProgress = false;
1489              return _context10.finish(21);
1490
1491            case 26:
1492            case "end":
1493              return _context10.stop();
1494          }
1495        }
1496      }, _callee10, null, [[7, 17, 21, 26]]);
1497    }))();
1498  },
1499  downloadOrSave: function downloadOrSave(options) {
1500    var _this$pdfDocument;
1501
1502    if (((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage.size) > 0) {
1503      this.save(options);
1504    } else {
1505      this.download(options);
1506    }
1507  },
1508  fallback: function fallback(featureId) {
1509    var _this10 = this;
1510
1511    this.externalServices.reportTelemetry({
1512      type: "unsupportedFeature",
1513      featureId: featureId
1514    });
1515
1516    if (this._fellback) {
1517      return;
1518    }
1519
1520    this._fellback = true;
1521    this.externalServices.fallback({
1522      featureId: featureId,
1523      url: this.baseUrl
1524    }).then(function (download) {
1525      if (!download) {
1526        return;
1527      }
1528
1529      _this10.download({
1530        sourceEventType: "download"
1531      });
1532    });
1533  },
1534  _documentError: function _documentError(message) {
1535    var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1536
1537    this._unblockDocumentLoadEvent();
1538
1539    this._otherError(message, moreInfo);
1540  },
1541  _otherError: function _otherError(message) {
1542    var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1543    var moreInfoText = [this.l10n.get("error_version_info", {
1544      version: _pdfjsLib.version || "?",
1545      build: _pdfjsLib.build || "?"
1546    })];
1547
1548    if (moreInfo) {
1549      moreInfoText.push(this.l10n.get("error_message", {
1550        message: moreInfo.message
1551      }));
1552
1553      if (moreInfo.stack) {
1554        moreInfoText.push(this.l10n.get("error_stack", {
1555          stack: moreInfo.stack
1556        }));
1557      } else {
1558        if (moreInfo.filename) {
1559          moreInfoText.push(this.l10n.get("error_file", {
1560            file: moreInfo.filename
1561          }));
1562        }
1563
1564        if (moreInfo.lineNumber) {
1565          moreInfoText.push(this.l10n.get("error_line", {
1566            line: moreInfo.lineNumber
1567          }));
1568        }
1569      }
1570    }
1571
1572    var errorWrapperConfig = this.appConfig.errorWrapper;
1573    var errorWrapper = errorWrapperConfig.container;
1574    errorWrapper.hidden = false;
1575    var errorMessage = errorWrapperConfig.errorMessage;
1576    errorMessage.textContent = message;
1577    var closeButton = errorWrapperConfig.closeButton;
1578
1579    closeButton.onclick = function () {
1580      errorWrapper.hidden = true;
1581    };
1582
1583    var errorMoreInfo = errorWrapperConfig.errorMoreInfo;
1584    var moreInfoButton = errorWrapperConfig.moreInfoButton;
1585    var lessInfoButton = errorWrapperConfig.lessInfoButton;
1586
1587    moreInfoButton.onclick = function () {
1588      errorMoreInfo.hidden = false;
1589      moreInfoButton.hidden = true;
1590      lessInfoButton.hidden = false;
1591      errorMoreInfo.style.height = errorMoreInfo.scrollHeight + "px";
1592    };
1593
1594    lessInfoButton.onclick = function () {
1595      errorMoreInfo.hidden = true;
1596      moreInfoButton.hidden = false;
1597      lessInfoButton.hidden = true;
1598    };
1599
1600    moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
1601    lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
1602    closeButton.oncontextmenu = _ui_utils.noContextMenuHandler;
1603    moreInfoButton.hidden = false;
1604    lessInfoButton.hidden = true;
1605    Promise.all(moreInfoText).then(function (parts) {
1606      errorMoreInfo.value = parts.join("\n");
1607    });
1608  },
1609  progress: function progress(level) {
1610    var _this11 = this;
1611
1612    if (this.downloadComplete) {
1613      return;
1614    }
1615
1616    var percent = Math.round(level * 100);
1617
1618    if (percent > this.loadingBar.percent || isNaN(percent)) {
1619      this.loadingBar.percent = percent;
1620      var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams.disableAutoFetch : _app_options.AppOptions.get("disableAutoFetch");
1621
1622      if (disableAutoFetch && percent) {
1623        if (this.disableAutoFetchLoadingBarTimeout) {
1624          clearTimeout(this.disableAutoFetchLoadingBarTimeout);
1625          this.disableAutoFetchLoadingBarTimeout = null;
1626        }
1627
1628        this.loadingBar.show();
1629        this.disableAutoFetchLoadingBarTimeout = setTimeout(function () {
1630          _this11.loadingBar.hide();
1631
1632          _this11.disableAutoFetchLoadingBarTimeout = null;
1633        }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT);
1634      }
1635    }
1636  },
1637  load: function load(pdfDocument) {
1638    var _this12 = this;
1639
1640    this.pdfDocument = pdfDocument;
1641    pdfDocument.getDownloadInfo().then(function (_ref4) {
1642      var length = _ref4.length;
1643      _this12._contentLength = length;
1644      _this12.downloadComplete = true;
1645
1646      _this12.loadingBar.hide();
1647
1648      firstPagePromise.then(function () {
1649        _this12.eventBus.dispatch("documentloaded", {
1650          source: _this12
1651        });
1652      });
1653    });
1654    var pageLayoutPromise = pdfDocument.getPageLayout()["catch"](function () {});
1655    var pageModePromise = pdfDocument.getPageMode()["catch"](function () {});
1656    var openActionPromise = pdfDocument.getOpenAction()["catch"](function () {});
1657    this.toolbar.setPagesCount(pdfDocument.numPages, false);
1658    this.secondaryToolbar.setPagesCount(pdfDocument.numPages);
1659    var baseDocumentUrl;
1660    baseDocumentUrl = null;
1661    this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl);
1662    this.pdfDocumentProperties.setDocument(pdfDocument, this.url);
1663    var pdfViewer = this.pdfViewer;
1664    pdfViewer.setDocument(pdfDocument);
1665    var firstPagePromise = pdfViewer.firstPagePromise,
1666        onePageRendered = pdfViewer.onePageRendered,
1667        pagesPromise = pdfViewer.pagesPromise;
1668    var pdfThumbnailViewer = this.pdfThumbnailViewer;
1669    pdfThumbnailViewer.setDocument(pdfDocument);
1670    var storedPromise = (this.store = new _view_history.ViewHistory(pdfDocument.fingerprints[0])).getMultiple({
1671      page: null,
1672      zoom: _ui_utils.DEFAULT_SCALE_VALUE,
1673      scrollLeft: "0",
1674      scrollTop: "0",
1675      rotation: null,
1676      sidebarView: _ui_utils.SidebarView.UNKNOWN,
1677      scrollMode: _ui_utils.ScrollMode.UNKNOWN,
1678      spreadMode: _ui_utils.SpreadMode.UNKNOWN
1679    })["catch"](function () {
1680      return Object.create(null);
1681    });
1682    firstPagePromise.then(function (pdfPage) {
1683      _this12.loadingBar.setWidth(_this12.appConfig.viewerContainer);
1684
1685      _this12._initializeAnnotationStorageCallbacks(pdfDocument);
1686
1687      Promise.all([_ui_utils.animationStarted, storedPromise, pageLayoutPromise, pageModePromise, openActionPromise]).then( /*#__PURE__*/function () {
1688        var _ref6 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11(_ref5) {
1689          var _ref7, timeStamp, stored, pageLayout, pageMode, openAction, viewOnLoad, initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode;
1690
1691          return _regenerator["default"].wrap(function _callee11$(_context11) {
1692            while (1) {
1693              switch (_context11.prev = _context11.next) {
1694                case 0:
1695                  _ref7 = _slicedToArray(_ref5, 5), timeStamp = _ref7[0], stored = _ref7[1], pageLayout = _ref7[2], pageMode = _ref7[3], openAction = _ref7[4];
1696                  viewOnLoad = _app_options.AppOptions.get("viewOnLoad");
1697
1698                  _this12._initializePdfHistory({
1699                    fingerprint: pdfDocument.fingerprints[0],
1700                    viewOnLoad: viewOnLoad,
1701                    initialDest: openAction === null || openAction === void 0 ? void 0 : openAction.dest
1702                  });
1703
1704                  initialBookmark = _this12.initialBookmark;
1705                  zoom = _app_options.AppOptions.get("defaultZoomValue");
1706                  hash = zoom ? "zoom=".concat(zoom) : null;
1707                  rotation = null;
1708                  sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad");
1709                  scrollMode = _app_options.AppOptions.get("scrollModeOnLoad");
1710                  spreadMode = _app_options.AppOptions.get("spreadModeOnLoad");
1711
1712                  if (stored.page && viewOnLoad !== ViewOnLoad.INITIAL) {
1713                    hash = "page=".concat(stored.page, "&zoom=").concat(zoom || stored.zoom, ",") + "".concat(stored.scrollLeft, ",").concat(stored.scrollTop);
1714                    rotation = parseInt(stored.rotation, 10);
1715
1716                    if (sidebarView === _ui_utils.SidebarView.UNKNOWN) {
1717                      sidebarView = stored.sidebarView | 0;
1718                    }
1719
1720                    if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) {
1721                      scrollMode = stored.scrollMode | 0;
1722                    }
1723
1724                    if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
1725                      spreadMode = stored.spreadMode | 0;
1726                    }
1727                  }
1728
1729                  if (pageMode && sidebarView === _ui_utils.SidebarView.UNKNOWN) {
1730                    sidebarView = (0, _ui_utils.apiPageModeToSidebarView)(pageMode);
1731                  }
1732
1733                  if (pageLayout && spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
1734                    spreadMode = (0, _ui_utils.apiPageLayoutToSpreadMode)(pageLayout);
1735                  }
1736
1737                  _this12.setInitialView(hash, {
1738                    rotation: rotation,
1739                    sidebarView: sidebarView,
1740                    scrollMode: scrollMode,
1741                    spreadMode: spreadMode
1742                  });
1743
1744                  _this12.eventBus.dispatch("documentinit", {
1745                    source: _this12
1746                  });
1747
1748                  if (!_this12.isViewerEmbedded) {
1749                    pdfViewer.focus();
1750                  }
1751
1752                  _this12._initializePermissions(pdfDocument);
1753
1754                  _context11.next = 19;
1755                  return Promise.race([pagesPromise, new Promise(function (resolve) {
1756                    setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT);
1757                  })]);
1758
1759                case 19:
1760                  if (!(!initialBookmark && !hash)) {
1761                    _context11.next = 21;
1762                    break;
1763                  }
1764
1765                  return _context11.abrupt("return");
1766
1767                case 21:
1768                  if (!pdfViewer.hasEqualPageSizes) {
1769                    _context11.next = 23;
1770                    break;
1771                  }
1772
1773                  return _context11.abrupt("return");
1774
1775                case 23:
1776                  _this12.initialBookmark = initialBookmark;
1777                  pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;
1778
1779                  _this12.setInitialView(hash);
1780
1781                case 26:
1782                case "end":
1783                  return _context11.stop();
1784              }
1785            }
1786          }, _callee11);
1787        }));
1788
1789        return function (_x2) {
1790          return _ref6.apply(this, arguments);
1791        };
1792      }())["catch"](function () {
1793        _this12.setInitialView();
1794      }).then(function () {
1795        pdfViewer.update();
1796      });
1797    });
1798    pagesPromise.then(function () {
1799      _this12._unblockDocumentLoadEvent();
1800
1801      _this12._initializeAutoPrint(pdfDocument, openActionPromise);
1802    });
1803    onePageRendered.then(function () {
1804      pdfDocument.getOutline().then(function (outline) {
1805        if (pdfDocument !== _this12.pdfDocument) {
1806          return;
1807        }
1808
1809        _this12.pdfOutlineViewer.render({
1810          outline: outline,
1811          pdfDocument: pdfDocument
1812        });
1813      });
1814      pdfDocument.getAttachments().then(function (attachments) {
1815        if (pdfDocument !== _this12.pdfDocument) {
1816          return;
1817        }
1818
1819        _this12.pdfAttachmentViewer.render({
1820          attachments: attachments
1821        });
1822      });
1823      pdfViewer.optionalContentConfigPromise.then(function (optionalContentConfig) {
1824        if (pdfDocument !== _this12.pdfDocument) {
1825          return;
1826        }
1827
1828        _this12.pdfLayerViewer.render({
1829          optionalContentConfig: optionalContentConfig,
1830          pdfDocument: pdfDocument
1831        });
1832      });
1833
1834      if ("requestIdleCallback" in window) {
1835        var callback = window.requestIdleCallback(function () {
1836          _this12._collectTelemetry(pdfDocument);
1837
1838          _this12._idleCallbacks["delete"](callback);
1839        }, {
1840          timeout: 1000
1841        });
1842
1843        _this12._idleCallbacks.add(callback);
1844      }
1845    });
1846
1847    this._initializePageLabels(pdfDocument);
1848
1849    this._initializeMetadata(pdfDocument);
1850  },
1851  _scriptingDocProperties: function _scriptingDocProperties(pdfDocument) {
1852    var _this13 = this;
1853
1854    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
1855      var _this13$metadata, _this13$metadata2;
1856
1857      return _regenerator["default"].wrap(function _callee12$(_context12) {
1858        while (1) {
1859          switch (_context12.prev = _context12.next) {
1860            case 0:
1861              if (_this13.documentInfo) {
1862                _context12.next = 5;
1863                break;
1864              }
1865
1866              _context12.next = 3;
1867              return new Promise(function (resolve) {
1868                _this13.eventBus._on("metadataloaded", resolve, {
1869                  once: true
1870                });
1871              });
1872
1873            case 3:
1874              if (!(pdfDocument !== _this13.pdfDocument)) {
1875                _context12.next = 5;
1876                break;
1877              }
1878
1879              return _context12.abrupt("return", null);
1880
1881            case 5:
1882              if (_this13._contentLength) {
1883                _context12.next = 10;
1884                break;
1885              }
1886
1887              _context12.next = 8;
1888              return new Promise(function (resolve) {
1889                _this13.eventBus._on("documentloaded", resolve, {
1890                  once: true
1891                });
1892              });
1893
1894            case 8:
1895              if (!(pdfDocument !== _this13.pdfDocument)) {
1896                _context12.next = 10;
1897                break;
1898              }
1899
1900              return _context12.abrupt("return", null);
1901
1902            case 10:
1903              return _context12.abrupt("return", _objectSpread(_objectSpread({}, _this13.documentInfo), {}, {
1904                baseURL: _this13.baseUrl,
1905                filesize: _this13._contentLength,
1906                filename: _this13._docFilename,
1907                metadata: (_this13$metadata = _this13.metadata) === null || _this13$metadata === void 0 ? void 0 : _this13$metadata.getRaw(),
1908                authors: (_this13$metadata2 = _this13.metadata) === null || _this13$metadata2 === void 0 ? void 0 : _this13$metadata2.get("dc:creator"),
1909                numPages: _this13.pagesCount,
1910                URL: _this13.url
1911              }));
1912
1913            case 11:
1914            case "end":
1915              return _context12.stop();
1916          }
1917        }
1918      }, _callee12);
1919    }))();
1920  },
1921  _collectTelemetry: function _collectTelemetry(pdfDocument) {
1922    var _this14 = this;
1923
1924    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
1925      var markInfo, tagged;
1926      return _regenerator["default"].wrap(function _callee13$(_context13) {
1927        while (1) {
1928          switch (_context13.prev = _context13.next) {
1929            case 0:
1930              _context13.next = 2;
1931              return _this14.pdfDocument.getMarkInfo();
1932
1933            case 2:
1934              markInfo = _context13.sent;
1935
1936              if (!(pdfDocument !== _this14.pdfDocument)) {
1937                _context13.next = 5;
1938                break;
1939              }
1940
1941              return _context13.abrupt("return");
1942
1943            case 5:
1944              tagged = (markInfo === null || markInfo === void 0 ? void 0 : markInfo.Marked) || false;
1945
1946              _this14.externalServices.reportTelemetry({
1947                type: "tagged",
1948                tagged: tagged
1949              });
1950
1951            case 7:
1952            case "end":
1953              return _context13.stop();
1954          }
1955        }
1956      }, _callee13);
1957    }))();
1958  },
1959  _initializeAutoPrint: function _initializeAutoPrint(pdfDocument, openActionPromise) {
1960    var _this15 = this;
1961
1962    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
1963      var _yield$Promise$all, _yield$Promise$all2, openAction, javaScript, triggerAutoPrint, _iterator2, _step2, js;
1964
1965      return _regenerator["default"].wrap(function _callee14$(_context14) {
1966        while (1) {
1967          switch (_context14.prev = _context14.next) {
1968            case 0:
1969              _context14.next = 2;
1970              return Promise.all([openActionPromise, !_this15.pdfViewer.enableScripting ? pdfDocument.getJavaScript() : null]);
1971
1972            case 2:
1973              _yield$Promise$all = _context14.sent;
1974              _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
1975              openAction = _yield$Promise$all2[0];
1976              javaScript = _yield$Promise$all2[1];
1977
1978              if (!(pdfDocument !== _this15.pdfDocument)) {
1979                _context14.next = 8;
1980                break;
1981              }
1982
1983              return _context14.abrupt("return");
1984
1985            case 8:
1986              triggerAutoPrint = false;
1987
1988              if ((openAction === null || openAction === void 0 ? void 0 : openAction.action) === "Print") {
1989                triggerAutoPrint = true;
1990              }
1991
1992              if (!javaScript) {
1993                _context14.next = 31;
1994                break;
1995              }
1996
1997              javaScript.some(function (js) {
1998                if (!js) {
1999                  return false;
2000                }
2001
2002                console.warn("Warning: JavaScript support is not enabled");
2003
2004                _this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript);
2005
2006                return true;
2007              });
2008
2009              if (triggerAutoPrint) {
2010                _context14.next = 31;
2011                break;
2012              }
2013
2014              _iterator2 = _createForOfIteratorHelper(javaScript);
2015              _context14.prev = 14;
2016
2017              _iterator2.s();
2018
2019            case 16:
2020              if ((_step2 = _iterator2.n()).done) {
2021                _context14.next = 23;
2022                break;
2023              }
2024
2025              js = _step2.value;
2026
2027              if (!(js && _ui_utils.AutoPrintRegExp.test(js))) {
2028                _context14.next = 21;
2029                break;
2030              }
2031
2032              triggerAutoPrint = true;
2033              return _context14.abrupt("break", 23);
2034
2035            case 21:
2036              _context14.next = 16;
2037              break;
2038
2039            case 23:
2040              _context14.next = 28;
2041              break;
2042
2043            case 25:
2044              _context14.prev = 25;
2045              _context14.t0 = _context14["catch"](14);
2046
2047              _iterator2.e(_context14.t0);
2048
2049            case 28:
2050              _context14.prev = 28;
2051
2052              _iterator2.f();
2053
2054              return _context14.finish(28);
2055
2056            case 31:
2057              if (triggerAutoPrint) {
2058                _this15.triggerPrinting();
2059              }
2060
2061            case 32:
2062            case "end":
2063              return _context14.stop();
2064          }
2065        }
2066      }, _callee14, null, [[14, 25, 28, 31]]);
2067    }))();
2068  },
2069  _initializeMetadata: function _initializeMetadata(pdfDocument) {
2070    var _this16 = this;
2071
2072    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
2073      var _this16$_contentDispo, _this16$_contentLengt;
2074
2075      var _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, pdfTitle, metadataTitle, versionId, generatorId, producer, formType;
2076
2077      return _regenerator["default"].wrap(function _callee15$(_context15) {
2078        while (1) {
2079          switch (_context15.prev = _context15.next) {
2080            case 0:
2081              _context15.next = 2;
2082              return pdfDocument.getMetadata();
2083
2084            case 2:
2085              _yield$pdfDocument$ge = _context15.sent;
2086              info = _yield$pdfDocument$ge.info;
2087              metadata = _yield$pdfDocument$ge.metadata;
2088              contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename;
2089              contentLength = _yield$pdfDocument$ge.contentLength;
2090
2091              if (!(pdfDocument !== _this16.pdfDocument)) {
2092                _context15.next = 9;
2093                break;
2094              }
2095
2096              return _context15.abrupt("return");
2097
2098            case 9:
2099              _this16.documentInfo = info;
2100              _this16.metadata = metadata;
2101              (_this16$_contentDispo = _this16._contentDispositionFilename) !== null && _this16$_contentDispo !== void 0 ? _this16$_contentDispo : _this16._contentDispositionFilename = contentDispositionFilename;
2102              (_this16$_contentLengt = _this16._contentLength) !== null && _this16$_contentLengt !== void 0 ? _this16$_contentLengt : _this16._contentLength = contentLength;
2103              console.log("PDF ".concat(pdfDocument.fingerprints[0], " [").concat(info.PDFFormatVersion, " ") + "".concat((info.Producer || "-").trim(), " / ").concat((info.Creator || "-").trim(), "] ") + "(PDF.js: ".concat(_pdfjsLib.version || "-", ")"));
2104              pdfTitle = info === null || info === void 0 ? void 0 : info.Title;
2105              metadataTitle = metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:title");
2106
2107              if (metadataTitle) {
2108                if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) {
2109                  pdfTitle = metadataTitle;
2110                }
2111              }
2112
2113              if (pdfTitle) {
2114                _this16.setTitle(pdfTitle);
2115              } else if (contentDispositionFilename) {
2116                _this16.setTitle(contentDispositionFilename);
2117              }
2118
2119              if (info.IsXFAPresent && !info.IsAcroFormPresent && !pdfDocument.isPureXfa) {
2120                console.warn("Warning: XFA support is not enabled");
2121
2122                _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
2123              } else if ((info.IsAcroFormPresent || info.IsXFAPresent) && !_this16.pdfViewer.renderInteractiveForms) {
2124                console.warn("Warning: Interactive form support is not enabled");
2125
2126                _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
2127              }
2128
2129              if (info.IsSignaturesPresent) {
2130                console.warn("Warning: Digital signatures validation is not supported");
2131
2132                _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.signatures);
2133              }
2134
2135              versionId = "other";
2136
2137              if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) {
2138                versionId = "v".concat(info.PDFFormatVersion.replace(".", "_"));
2139              }
2140
2141              generatorId = "other";
2142
2143              if (info.Producer) {
2144                producer = info.Producer.toLowerCase();
2145                KNOWN_GENERATORS.some(function (generator) {
2146                  if (!producer.includes(generator)) {
2147                    return false;
2148                  }
2149
2150                  generatorId = generator.replace(/[ .-]/g, "_");
2151                  return true;
2152                });
2153              }
2154
2155              formType = null;
2156
2157              if (info.IsXFAPresent) {
2158                formType = "xfa";
2159              } else if (info.IsAcroFormPresent) {
2160                formType = "acroform";
2161              }
2162
2163              _this16.externalServices.reportTelemetry({
2164                type: "documentInfo",
2165                version: versionId,
2166                generator: generatorId,
2167                formType: formType
2168              });
2169
2170              _this16.eventBus.dispatch("metadataloaded", {
2171                source: _this16
2172              });
2173
2174            case 28:
2175            case "end":
2176              return _context15.stop();
2177          }
2178        }
2179      }, _callee15);
2180    }))();
2181  },
2182  _initializePageLabels: function _initializePageLabels(pdfDocument) {
2183    var _this17 = this;
2184
2185    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
2186      var labels, numLabels, i, pdfViewer, pdfThumbnailViewer, toolbar;
2187      return _regenerator["default"].wrap(function _callee16$(_context16) {
2188        while (1) {
2189          switch (_context16.prev = _context16.next) {
2190            case 0:
2191              _context16.next = 2;
2192              return pdfDocument.getPageLabels();
2193
2194            case 2:
2195              labels = _context16.sent;
2196
2197              if (!(pdfDocument !== _this17.pdfDocument)) {
2198                _context16.next = 5;
2199                break;
2200              }
2201
2202              return _context16.abrupt("return");
2203
2204            case 5:
2205              if (!(!labels || _app_options.AppOptions.get("disablePageLabels"))) {
2206                _context16.next = 7;
2207                break;
2208              }
2209
2210              return _context16.abrupt("return");
2211
2212            case 7:
2213              numLabels = labels.length;
2214
2215              if (!(numLabels !== _this17.pagesCount)) {
2216                _context16.next = 11;
2217                break;
2218              }
2219
2220              console.error("The number of Page Labels does not match the number of pages in the document.");
2221              return _context16.abrupt("return");
2222
2223            case 11:
2224              i = 0;
2225
2226              while (i < numLabels && labels[i] === (i + 1).toString()) {
2227                i++;
2228              }
2229
2230              if (!(i === numLabels)) {
2231                _context16.next = 15;
2232                break;
2233              }
2234
2235              return _context16.abrupt("return");
2236
2237            case 15:
2238              pdfViewer = _this17.pdfViewer, pdfThumbnailViewer = _this17.pdfThumbnailViewer, toolbar = _this17.toolbar;
2239              pdfViewer.setPageLabels(labels);
2240              pdfThumbnailViewer.setPageLabels(labels);
2241              toolbar.setPagesCount(numLabels, true);
2242              toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
2243
2244            case 20:
2245            case "end":
2246              return _context16.stop();
2247          }
2248        }
2249      }, _callee16);
2250    }))();
2251  },
2252  _initializePdfHistory: function _initializePdfHistory(_ref8) {
2253    var fingerprint = _ref8.fingerprint,
2254        viewOnLoad = _ref8.viewOnLoad,
2255        _ref8$initialDest = _ref8.initialDest,
2256        initialDest = _ref8$initialDest === void 0 ? null : _ref8$initialDest;
2257
2258    if (this.isViewerEmbedded || _app_options.AppOptions.get("disableHistory")) {
2259      return;
2260    }
2261
2262    this.pdfHistory.initialize({
2263      fingerprint: fingerprint,
2264      resetHistory: viewOnLoad === ViewOnLoad.INITIAL,
2265      updateUrl: _app_options.AppOptions.get("historyUpdateUrl")
2266    });
2267
2268    if (this.pdfHistory.initialBookmark) {
2269      this.initialBookmark = this.pdfHistory.initialBookmark;
2270      this.initialRotation = this.pdfHistory.initialRotation;
2271    }
2272
2273    if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) {
2274      this.initialBookmark = JSON.stringify(initialDest);
2275      this.pdfHistory.push({
2276        explicitDest: initialDest,
2277        pageNumber: null
2278      });
2279    }
2280  },
2281  _initializePermissions: function _initializePermissions(pdfDocument) {
2282    var _this18 = this;
2283
2284    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee17() {
2285      var permissions;
2286      return _regenerator["default"].wrap(function _callee17$(_context17) {
2287        while (1) {
2288          switch (_context17.prev = _context17.next) {
2289            case 0:
2290              _context17.next = 2;
2291              return pdfDocument.getPermissions();
2292
2293            case 2:
2294              permissions = _context17.sent;
2295
2296              if (!(pdfDocument !== _this18.pdfDocument)) {
2297                _context17.next = 5;
2298                break;
2299              }
2300
2301              return _context17.abrupt("return");
2302
2303            case 5:
2304              if (!(!permissions || !_app_options.AppOptions.get("enablePermissions"))) {
2305                _context17.next = 7;
2306                break;
2307              }
2308
2309              return _context17.abrupt("return");
2310
2311            case 7:
2312              if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY)) {
2313                _this18.appConfig.viewerContainer.classList.add(ENABLE_PERMISSIONS_CLASS);
2314              }
2315
2316            case 8:
2317            case "end":
2318              return _context17.stop();
2319          }
2320        }
2321      }, _callee17);
2322    }))();
2323  },
2324  _initializeAnnotationStorageCallbacks: function _initializeAnnotationStorageCallbacks(pdfDocument) {
2325    var _this19 = this;
2326
2327    if (pdfDocument !== this.pdfDocument) {
2328      return;
2329    }
2330
2331    var annotationStorage = pdfDocument.annotationStorage;
2332
2333    annotationStorage.onSetModified = function () {
2334      window.addEventListener("beforeunload", beforeUnload);
2335      _this19._annotationStorageModified = true;
2336    };
2337
2338    annotationStorage.onResetModified = function () {
2339      window.removeEventListener("beforeunload", beforeUnload);
2340      delete _this19._annotationStorageModified;
2341    };
2342  },
2343  setInitialView: function setInitialView(storedHash) {
2344    var _this20 = this;
2345
2346    var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
2347        rotation = _ref9.rotation,
2348        sidebarView = _ref9.sidebarView,
2349        scrollMode = _ref9.scrollMode,
2350        spreadMode = _ref9.spreadMode;
2351
2352    var setRotation = function setRotation(angle) {
2353      if ((0, _ui_utils.isValidRotation)(angle)) {
2354        _this20.pdfViewer.pagesRotation = angle;
2355      }
2356    };
2357
2358    var setViewerModes = function setViewerModes(scroll, spread) {
2359      if ((0, _ui_utils.isValidScrollMode)(scroll)) {
2360        _this20.pdfViewer.scrollMode = scroll;
2361      }
2362
2363      if ((0, _ui_utils.isValidSpreadMode)(spread)) {
2364        _this20.pdfViewer.spreadMode = spread;
2365      }
2366    };
2367
2368    this.isInitialViewSet = true;
2369    this.pdfSidebar.setInitialView(sidebarView);
2370    setViewerModes(scrollMode, spreadMode);
2371
2372    if (this.initialBookmark) {
2373      setRotation(this.initialRotation);
2374      delete this.initialRotation;
2375      this.pdfLinkService.setHash(this.initialBookmark);
2376      this.initialBookmark = null;
2377    } else if (storedHash) {
2378      setRotation(rotation);
2379      this.pdfLinkService.setHash(storedHash);
2380    }
2381
2382    this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel);
2383    this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber);
2384
2385    if (!this.pdfViewer.currentScaleValue) {
2386      this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
2387    }
2388  },
2389  _cleanup: function _cleanup() {
2390    if (!this.pdfDocument) {
2391      return;
2392    }
2393
2394    this.pdfViewer.cleanup();
2395    this.pdfThumbnailViewer.cleanup();
2396    this.pdfDocument.cleanup(this.pdfViewer.renderer === _ui_utils.RendererType.SVG);
2397  },
2398  forceRendering: function forceRendering() {
2399    this.pdfRenderingQueue.printing = !!this.printService;
2400    this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible;
2401    this.pdfRenderingQueue.renderHighestPriority();
2402  },
2403  beforePrint: function beforePrint() {
2404    var _this21 = this;
2405
2406    this.pdfScriptingManager.dispatchWillPrint();
2407
2408    if (this.printService) {
2409      return;
2410    }
2411
2412    if (!this.supportsPrinting) {
2413      this.l10n.get("printing_not_supported").then(function (msg) {
2414        _this21._otherError(msg);
2415      });
2416      return;
2417    }
2418
2419    if (!this.pdfViewer.pageViewsReady) {
2420      this.l10n.get("printing_not_ready").then(function (msg) {
2421        window.alert(msg);
2422      });
2423      return;
2424    }
2425
2426    var pagesOverview = this.pdfViewer.getPagesOverview();
2427    var printContainer = this.appConfig.printContainer;
2428
2429    var printResolution = _app_options.AppOptions.get("printResolution");
2430
2431    var optionalContentConfigPromise = this.pdfViewer.optionalContentConfigPromise;
2432    var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, this.l10n);
2433    this.printService = printService;
2434    this.forceRendering();
2435    printService.layout();
2436    this.externalServices.reportTelemetry({
2437      type: "print"
2438    });
2439  },
2440  afterPrint: function afterPrint() {
2441    this.pdfScriptingManager.dispatchDidPrint();
2442
2443    if (this.printService) {
2444      this.printService.destroy();
2445      this.printService = null;
2446
2447      if (this.pdfDocument) {
2448        this.pdfDocument.annotationStorage.resetModified();
2449      }
2450    }
2451
2452    this.forceRendering();
2453  },
2454  rotatePages: function rotatePages(delta) {
2455    this.pdfViewer.pagesRotation += delta;
2456  },
2457  requestPresentationMode: function requestPresentationMode() {
2458    if (!this.pdfPresentationMode) {
2459      return;
2460    }
2461
2462    this.pdfPresentationMode.request();
2463  },
2464  triggerPrinting: function triggerPrinting() {
2465    if (!this.supportsPrinting) {
2466      return;
2467    }
2468
2469    window.print();
2470  },
2471  bindEvents: function bindEvents() {
2472    var eventBus = this.eventBus,
2473        _boundEvents = this._boundEvents;
2474    _boundEvents.beforePrint = this.beforePrint.bind(this);
2475    _boundEvents.afterPrint = this.afterPrint.bind(this);
2476
2477    eventBus._on("resize", webViewerResize);
2478
2479    eventBus._on("hashchange", webViewerHashchange);
2480
2481    eventBus._on("beforeprint", _boundEvents.beforePrint);
2482
2483    eventBus._on("afterprint", _boundEvents.afterPrint);
2484
2485    eventBus._on("pagerendered", webViewerPageRendered);
2486
2487    eventBus._on("updateviewarea", webViewerUpdateViewarea);
2488
2489    eventBus._on("pagechanging", webViewerPageChanging);
2490
2491    eventBus._on("scalechanging", webViewerScaleChanging);
2492
2493    eventBus._on("rotationchanging", webViewerRotationChanging);
2494
2495    eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged);
2496
2497    eventBus._on("pagemode", webViewerPageMode);
2498
2499    eventBus._on("namedaction", webViewerNamedAction);
2500
2501    eventBus._on("presentationmodechanged", webViewerPresentationModeChanged);
2502
2503    eventBus._on("presentationmode", webViewerPresentationMode);
2504
2505    eventBus._on("print", webViewerPrint);
2506
2507    eventBus._on("download", webViewerDownload);
2508
2509    eventBus._on("save", webViewerSave);
2510
2511    eventBus._on("firstpage", webViewerFirstPage);
2512
2513    eventBus._on("lastpage", webViewerLastPage);
2514
2515    eventBus._on("nextpage", webViewerNextPage);
2516
2517    eventBus._on("previouspage", webViewerPreviousPage);
2518
2519    eventBus._on("zoomin", webViewerZoomIn);
2520
2521    eventBus._on("zoomout", webViewerZoomOut);
2522
2523    eventBus._on("zoomreset", webViewerZoomReset);
2524
2525    eventBus._on("pagenumberchanged", webViewerPageNumberChanged);
2526
2527    eventBus._on("scalechanged", webViewerScaleChanged);
2528
2529    eventBus._on("rotatecw", webViewerRotateCw);
2530
2531    eventBus._on("rotateccw", webViewerRotateCcw);
2532
2533    eventBus._on("optionalcontentconfig", webViewerOptionalContentConfig);
2534
2535    eventBus._on("switchscrollmode", webViewerSwitchScrollMode);
2536
2537    eventBus._on("scrollmodechanged", webViewerScrollModeChanged);
2538
2539    eventBus._on("switchspreadmode", webViewerSwitchSpreadMode);
2540
2541    eventBus._on("spreadmodechanged", webViewerSpreadModeChanged);
2542
2543    eventBus._on("documentproperties", webViewerDocumentProperties);
2544
2545    eventBus._on("find", webViewerFind);
2546
2547    eventBus._on("findfromurlhash", webViewerFindFromUrlHash);
2548
2549    eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount);
2550
2551    eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState);
2552
2553    if (_app_options.AppOptions.get("pdfBug")) {
2554      _boundEvents.reportPageStatsPDFBug = reportPageStatsPDFBug;
2555
2556      eventBus._on("pagerendered", _boundEvents.reportPageStatsPDFBug);
2557
2558      eventBus._on("pagechanging", _boundEvents.reportPageStatsPDFBug);
2559    }
2560
2561    eventBus._on("fileinputchange", webViewerFileInputChange);
2562
2563    eventBus._on("openfile", webViewerOpenFile);
2564  },
2565  bindWindowEvents: function bindWindowEvents() {
2566    var eventBus = this.eventBus,
2567        _boundEvents = this._boundEvents;
2568
2569    _boundEvents.windowResize = function () {
2570      eventBus.dispatch("resize", {
2571        source: window
2572      });
2573    };
2574
2575    _boundEvents.windowHashChange = function () {
2576      eventBus.dispatch("hashchange", {
2577        source: window,
2578        hash: document.location.hash.substring(1)
2579      });
2580    };
2581
2582    _boundEvents.windowBeforePrint = function () {
2583      eventBus.dispatch("beforeprint", {
2584        source: window
2585      });
2586    };
2587
2588    _boundEvents.windowAfterPrint = function () {
2589      eventBus.dispatch("afterprint", {
2590        source: window
2591      });
2592    };
2593
2594    _boundEvents.windowUpdateFromSandbox = function (event) {
2595      eventBus.dispatch("updatefromsandbox", {
2596        source: window,
2597        detail: event.detail
2598      });
2599    };
2600
2601    window.addEventListener("visibilitychange", webViewerVisibilityChange);
2602    window.addEventListener("wheel", webViewerWheel, {
2603      passive: false
2604    });
2605    window.addEventListener("touchstart", webViewerTouchStart, {
2606      passive: false
2607    });
2608    window.addEventListener("click", webViewerClick);
2609    window.addEventListener("keydown", webViewerKeyDown);
2610    window.addEventListener("resize", _boundEvents.windowResize);
2611    window.addEventListener("hashchange", _boundEvents.windowHashChange);
2612    window.addEventListener("beforeprint", _boundEvents.windowBeforePrint);
2613    window.addEventListener("afterprint", _boundEvents.windowAfterPrint);
2614    window.addEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox);
2615  },
2616  unbindEvents: function unbindEvents() {
2617    var eventBus = this.eventBus,
2618        _boundEvents = this._boundEvents;
2619
2620    eventBus._off("resize", webViewerResize);
2621
2622    eventBus._off("hashchange", webViewerHashchange);
2623
2624    eventBus._off("beforeprint", _boundEvents.beforePrint);
2625
2626    eventBus._off("afterprint", _boundEvents.afterPrint);
2627
2628    eventBus._off("pagerendered", webViewerPageRendered);
2629
2630    eventBus._off("updateviewarea", webViewerUpdateViewarea);
2631
2632    eventBus._off("pagechanging", webViewerPageChanging);
2633
2634    eventBus._off("scalechanging", webViewerScaleChanging);
2635
2636    eventBus._off("rotationchanging", webViewerRotationChanging);
2637
2638    eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged);
2639
2640    eventBus._off("pagemode", webViewerPageMode);
2641
2642    eventBus._off("namedaction", webViewerNamedAction);
2643
2644    eventBus._off("presentationmodechanged", webViewerPresentationModeChanged);
2645
2646    eventBus._off("presentationmode", webViewerPresentationMode);
2647
2648    eventBus._off("print", webViewerPrint);
2649
2650    eventBus._off("download", webViewerDownload);
2651
2652    eventBus._off("save", webViewerSave);
2653
2654    eventBus._off("firstpage", webViewerFirstPage);
2655
2656    eventBus._off("lastpage", webViewerLastPage);
2657
2658    eventBus._off("nextpage", webViewerNextPage);
2659
2660    eventBus._off("previouspage", webViewerPreviousPage);
2661
2662    eventBus._off("zoomin", webViewerZoomIn);
2663
2664    eventBus._off("zoomout", webViewerZoomOut);
2665
2666    eventBus._off("zoomreset", webViewerZoomReset);
2667
2668    eventBus._off("pagenumberchanged", webViewerPageNumberChanged);
2669
2670    eventBus._off("scalechanged", webViewerScaleChanged);
2671
2672    eventBus._off("rotatecw", webViewerRotateCw);
2673
2674    eventBus._off("rotateccw", webViewerRotateCcw);
2675
2676    eventBus._off("optionalcontentconfig", webViewerOptionalContentConfig);
2677
2678    eventBus._off("switchscrollmode", webViewerSwitchScrollMode);
2679
2680    eventBus._off("scrollmodechanged", webViewerScrollModeChanged);
2681
2682    eventBus._off("switchspreadmode", webViewerSwitchSpreadMode);
2683
2684    eventBus._off("spreadmodechanged", webViewerSpreadModeChanged);
2685
2686    eventBus._off("documentproperties", webViewerDocumentProperties);
2687
2688    eventBus._off("find", webViewerFind);
2689
2690    eventBus._off("findfromurlhash", webViewerFindFromUrlHash);
2691
2692    eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount);
2693
2694    eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState);
2695
2696    if (_boundEvents.reportPageStatsPDFBug) {
2697      eventBus._off("pagerendered", _boundEvents.reportPageStatsPDFBug);
2698
2699      eventBus._off("pagechanging", _boundEvents.reportPageStatsPDFBug);
2700
2701      _boundEvents.reportPageStatsPDFBug = null;
2702    }
2703
2704    eventBus._off("fileinputchange", webViewerFileInputChange);
2705
2706    eventBus._off("openfile", webViewerOpenFile);
2707
2708    _boundEvents.beforePrint = null;
2709    _boundEvents.afterPrint = null;
2710  },
2711  unbindWindowEvents: function unbindWindowEvents() {
2712    var _boundEvents = this._boundEvents;
2713    window.removeEventListener("visibilitychange", webViewerVisibilityChange);
2714    window.removeEventListener("wheel", webViewerWheel, {
2715      passive: false
2716    });
2717    window.removeEventListener("touchstart", webViewerTouchStart, {
2718      passive: false
2719    });
2720    window.removeEventListener("click", webViewerClick);
2721    window.removeEventListener("keydown", webViewerKeyDown);
2722    window.removeEventListener("resize", _boundEvents.windowResize);
2723    window.removeEventListener("hashchange", _boundEvents.windowHashChange);
2724    window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint);
2725    window.removeEventListener("afterprint", _boundEvents.windowAfterPrint);
2726    window.removeEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox);
2727    _boundEvents.windowResize = null;
2728    _boundEvents.windowHashChange = null;
2729    _boundEvents.windowBeforePrint = null;
2730    _boundEvents.windowAfterPrint = null;
2731    _boundEvents.windowUpdateFromSandbox = null;
2732  },
2733  accumulateWheelTicks: function accumulateWheelTicks(ticks) {
2734    if (this._wheelUnusedTicks > 0 && ticks < 0 || this._wheelUnusedTicks < 0 && ticks > 0) {
2735      this._wheelUnusedTicks = 0;
2736    }
2737
2738    this._wheelUnusedTicks += ticks;
2739    var wholeTicks = Math.sign(this._wheelUnusedTicks) * Math.floor(Math.abs(this._wheelUnusedTicks));
2740    this._wheelUnusedTicks -= wholeTicks;
2741    return wholeTicks;
2742  },
2743  _unblockDocumentLoadEvent: function _unblockDocumentLoadEvent() {
2744    if (document.blockUnblockOnload) {
2745      document.blockUnblockOnload(false);
2746    }
2747
2748    this._unblockDocumentLoadEvent = function () {};
2749  },
2750
2751  get scriptingReady() {
2752    return this.pdfScriptingManager.ready;
2753  }
2754
2755};
2756exports.PDFViewerApplication = PDFViewerApplication;
2757var validateFileURL;
2758{
2759  var HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"];
2760
2761  validateFileURL = function validateFileURL(file) {
2762    if (file === undefined) {
2763      return;
2764    }
2765
2766    try {
2767      var viewerOrigin = new URL(window.location.href).origin || "null";
2768
2769      if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) {
2770        return;
2771      }
2772
2773      var _URL = new URL(file, window.location.href),
2774          origin = _URL.origin,
2775          protocol = _URL.protocol;
2776
2777      if (origin !== viewerOrigin && protocol !== "blob:") {
2778        throw new Error("file origin does not match viewer's");
2779      }
2780    } catch (ex) {
2781      PDFViewerApplication.l10n.get("loading_error").then(function (msg) {
2782        PDFViewerApplication._documentError(msg, {
2783          message: ex === null || ex === void 0 ? void 0 : ex.message
2784        });
2785      });
2786      throw ex;
2787    }
2788  };
2789}
2790
2791function loadFakeWorker() {
2792  return _loadFakeWorker.apply(this, arguments);
2793}
2794
2795function _loadFakeWorker() {
2796  _loadFakeWorker = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee18() {
2797    return _regenerator["default"].wrap(function _callee18$(_context18) {
2798      while (1) {
2799        switch (_context18.prev = _context18.next) {
2800          case 0:
2801            if (!_pdfjsLib.GlobalWorkerOptions.workerSrc) {
2802              _pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get("workerSrc");
2803            }
2804
2805            return _context18.abrupt("return", (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.getWorkerSrc()));
2806
2807          case 2:
2808          case "end":
2809            return _context18.stop();
2810        }
2811      }
2812    }, _callee18);
2813  }));
2814  return _loadFakeWorker.apply(this, arguments);
2815}
2816
2817function loadAndEnablePDFBug(enabledTabs) {
2818  var appConfig = PDFViewerApplication.appConfig;
2819  return (0, _pdfjsLib.loadScript)(appConfig.debuggerScriptPath).then(function () {
2820    PDFBug.enable(enabledTabs);
2821    PDFBug.init({
2822      OPS: _pdfjsLib.OPS
2823    }, appConfig.mainContainer);
2824  });
2825}
2826
2827function reportPageStatsPDFBug(_ref10) {
2828  var _pageView$pdfPage;
2829
2830  var pageNumber = _ref10.pageNumber;
2831
2832  if (typeof Stats === "undefined" || !Stats.enabled) {
2833    return;
2834  }
2835
2836  var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1);
2837  var pageStats = pageView === null || pageView === void 0 ? void 0 : (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.stats;
2838
2839  if (!pageStats) {
2840    return;
2841  }
2842
2843  Stats.add(pageNumber, pageStats);
2844}
2845
2846function webViewerInitialized() {
2847  var appConfig = PDFViewerApplication.appConfig;
2848  var file;
2849  var queryString = document.location.search.substring(1);
2850  var params = (0, _ui_utils.parseQueryString)(queryString);
2851  file = "file" in params ? params.file : _app_options.AppOptions.get("defaultUrl");
2852  validateFileURL(file);
2853  var fileInput = document.createElement("input");
2854  fileInput.id = appConfig.openFileInputName;
2855  fileInput.className = "fileInput";
2856  fileInput.setAttribute("type", "file");
2857  fileInput.oncontextmenu = _ui_utils.noContextMenuHandler;
2858  document.body.appendChild(fileInput);
2859
2860  if (!window.File || !window.FileReader || !window.FileList || !window.Blob) {
2861    appConfig.toolbar.openFile.hidden = true;
2862    appConfig.secondaryToolbar.openFileButton.hidden = true;
2863  } else {
2864    fileInput.value = null;
2865  }
2866
2867  fileInput.addEventListener("change", function (evt) {
2868    var files = evt.target.files;
2869
2870    if (!files || files.length === 0) {
2871      return;
2872    }
2873
2874    PDFViewerApplication.eventBus.dispatch("fileinputchange", {
2875      source: this,
2876      fileInput: evt.target
2877    });
2878  });
2879  appConfig.mainContainer.addEventListener("dragover", function (evt) {
2880    evt.preventDefault();
2881    evt.dataTransfer.dropEffect = "move";
2882  });
2883  appConfig.mainContainer.addEventListener("drop", function (evt) {
2884    evt.preventDefault();
2885    var files = evt.dataTransfer.files;
2886
2887    if (!files || files.length === 0) {
2888      return;
2889    }
2890
2891    PDFViewerApplication.eventBus.dispatch("fileinputchange", {
2892      source: this,
2893      fileInput: evt.dataTransfer
2894    });
2895  });
2896
2897  if (!PDFViewerApplication.supportsDocumentFonts) {
2898    _app_options.AppOptions.set("disableFontFace", true);
2899
2900    PDFViewerApplication.l10n.get("web_fonts_disabled").then(function (msg) {
2901      console.warn(msg);
2902    });
2903  }
2904
2905  if (!PDFViewerApplication.supportsPrinting) {
2906    appConfig.toolbar.print.classList.add("hidden");
2907    appConfig.secondaryToolbar.printButton.classList.add("hidden");
2908  }
2909
2910  if (!PDFViewerApplication.supportsFullscreen) {
2911    appConfig.toolbar.presentationModeButton.classList.add("hidden");
2912    appConfig.secondaryToolbar.presentationModeButton.classList.add("hidden");
2913  }
2914
2915  if (PDFViewerApplication.supportsIntegratedFind) {
2916    appConfig.toolbar.viewFind.classList.add("hidden");
2917  }
2918
2919  appConfig.mainContainer.addEventListener("transitionend", function (evt) {
2920    if (evt.target === this) {
2921      PDFViewerApplication.eventBus.dispatch("resize", {
2922        source: this
2923      });
2924    }
2925  }, true);
2926
2927  try {
2928    webViewerOpenFileViaURL(file);
2929  } catch (reason) {
2930    PDFViewerApplication.l10n.get("loading_error").then(function (msg) {
2931      PDFViewerApplication._documentError(msg, reason);
2932    });
2933  }
2934}
2935
2936function webViewerOpenFileViaURL(file) {
2937  if (file) {
2938    PDFViewerApplication.open(file);
2939  }
2940}
2941
2942function webViewerResetPermissions() {
2943  var appConfig = PDFViewerApplication.appConfig;
2944
2945  if (!appConfig) {
2946    return;
2947  }
2948
2949  appConfig.viewerContainer.classList.remove(ENABLE_PERMISSIONS_CLASS);
2950}
2951
2952function webViewerPageRendered(_ref11) {
2953  var pageNumber = _ref11.pageNumber,
2954      timestamp = _ref11.timestamp,
2955      error = _ref11.error;
2956
2957  if (pageNumber === PDFViewerApplication.page) {
2958    PDFViewerApplication.toolbar.updateLoadingIndicatorState(false);
2959  }
2960
2961  if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
2962    var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1);
2963    var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageNumber - 1);
2964
2965    if (pageView && thumbnailView) {
2966      thumbnailView.setImage(pageView);
2967    }
2968  }
2969
2970  if (error) {
2971    PDFViewerApplication.l10n.get("rendering_error").then(function (msg) {
2972      PDFViewerApplication._otherError(msg, error);
2973    });
2974  }
2975
2976  PDFViewerApplication.externalServices.reportTelemetry({
2977    type: "pageInfo",
2978    timestamp: timestamp
2979  });
2980  PDFViewerApplication.pdfDocument.getStats().then(function (stats) {
2981    PDFViewerApplication.externalServices.reportTelemetry({
2982      type: "documentStats",
2983      stats: stats
2984    });
2985  });
2986}
2987
2988function webViewerPageMode(_ref12) {
2989  var mode = _ref12.mode;
2990  var view;
2991
2992  switch (mode) {
2993    case "thumbs":
2994      view = _ui_utils.SidebarView.THUMBS;
2995      break;
2996
2997    case "bookmarks":
2998    case "outline":
2999      view = _ui_utils.SidebarView.OUTLINE;
3000      break;
3001
3002    case "attachments":
3003      view = _ui_utils.SidebarView.ATTACHMENTS;
3004      break;
3005
3006    case "layers":
3007      view = _ui_utils.SidebarView.LAYERS;
3008      break;
3009
3010    case "none":
3011      view = _ui_utils.SidebarView.NONE;
3012      break;
3013
3014    default:
3015      console.error('Invalid "pagemode" hash parameter: ' + mode);
3016      return;
3017  }
3018
3019  PDFViewerApplication.pdfSidebar.switchView(view, true);
3020}
3021
3022function webViewerNamedAction(evt) {
3023  switch (evt.action) {
3024    case "GoToPage":
3025      PDFViewerApplication.appConfig.toolbar.pageNumber.select();
3026      break;
3027
3028    case "Find":
3029      if (!PDFViewerApplication.supportsIntegratedFind) {
3030        PDFViewerApplication.findBar.toggle();
3031      }
3032
3033      break;
3034
3035    case "Print":
3036      PDFViewerApplication.triggerPrinting();
3037      break;
3038
3039    case "SaveAs":
3040      webViewerSave();
3041      break;
3042  }
3043}
3044
3045function webViewerPresentationModeChanged(evt) {
3046  PDFViewerApplication.pdfViewer.presentationModeState = evt.state;
3047}
3048
3049function webViewerSidebarViewChanged(evt) {
3050  PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;
3051  var store = PDFViewerApplication.store;
3052
3053  if (store && PDFViewerApplication.isInitialViewSet) {
3054    store.set("sidebarView", evt.view)["catch"](function () {});
3055  }
3056}
3057
3058function webViewerUpdateViewarea(evt) {
3059  var location = evt.location,
3060      store = PDFViewerApplication.store;
3061
3062  if (store && PDFViewerApplication.isInitialViewSet) {
3063    store.setMultiple({
3064      page: location.pageNumber,
3065      zoom: location.scale,
3066      scrollLeft: location.left,
3067      scrollTop: location.top,
3068      rotation: location.rotation
3069    })["catch"](function () {});
3070  }
3071
3072  var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);
3073  PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;
3074  PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href;
3075  var currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
3076  var loading = (currentPage === null || currentPage === void 0 ? void 0 : currentPage.renderingState) !== _pdf_rendering_queue.RenderingStates.FINISHED;
3077  PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);
3078}
3079
3080function webViewerScrollModeChanged(evt) {
3081  var store = PDFViewerApplication.store;
3082
3083  if (store && PDFViewerApplication.isInitialViewSet) {
3084    store.set("scrollMode", evt.mode)["catch"](function () {});
3085  }
3086}
3087
3088function webViewerSpreadModeChanged(evt) {
3089  var store = PDFViewerApplication.store;
3090
3091  if (store && PDFViewerApplication.isInitialViewSet) {
3092    store.set("spreadMode", evt.mode)["catch"](function () {});
3093  }
3094}
3095
3096function webViewerResize() {
3097  var pdfDocument = PDFViewerApplication.pdfDocument,
3098      pdfViewer = PDFViewerApplication.pdfViewer;
3099
3100  if (!pdfDocument) {
3101    return;
3102  }
3103
3104  var currentScaleValue = pdfViewer.currentScaleValue;
3105
3106  if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === "page-width") {
3107    pdfViewer.currentScaleValue = currentScaleValue;
3108  }
3109
3110  pdfViewer.update();
3111}
3112
3113function webViewerHashchange(evt) {
3114  var hash = evt.hash;
3115
3116  if (!hash) {
3117    return;
3118  }
3119
3120  if (!PDFViewerApplication.isInitialViewSet) {
3121    PDFViewerApplication.initialBookmark = hash;
3122  } else if (!PDFViewerApplication.pdfHistory.popStateInProgress) {
3123    PDFViewerApplication.pdfLinkService.setHash(hash);
3124  }
3125}
3126
3127var webViewerFileInputChange, webViewerOpenFile;
3128{
3129  webViewerFileInputChange = function webViewerFileInputChange(evt) {
3130    var _PDFViewerApplication;
3131
3132    if ((_PDFViewerApplication = PDFViewerApplication.pdfViewer) !== null && _PDFViewerApplication !== void 0 && _PDFViewerApplication.isInPresentationMode) {
3133      return;
3134    }
3135
3136    var file = evt.fileInput.files[0];
3137
3138    if (!_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {
3139      var url = URL.createObjectURL(file);
3140
3141      if (file.name) {
3142        url = {
3143          url: url,
3144          originalUrl: file.name
3145        };
3146      }
3147
3148      PDFViewerApplication.open(url);
3149    } else {
3150      PDFViewerApplication.setTitleUsingUrl(file.name);
3151      var fileReader = new FileReader();
3152
3153      fileReader.onload = function webViewerChangeFileReaderOnload(event) {
3154        var buffer = event.target.result;
3155        PDFViewerApplication.open(new Uint8Array(buffer));
3156      };
3157
3158      fileReader.readAsArrayBuffer(file);
3159    }
3160
3161    var appConfig = PDFViewerApplication.appConfig;
3162    appConfig.toolbar.viewBookmark.hidden = true;
3163    appConfig.secondaryToolbar.viewBookmarkButton.hidden = true;
3164    appConfig.toolbar.download.hidden = true;
3165    appConfig.secondaryToolbar.downloadButton.hidden = true;
3166  };
3167
3168  webViewerOpenFile = function webViewerOpenFile(evt) {
3169    var openFileInputName = PDFViewerApplication.appConfig.openFileInputName;
3170    document.getElementById(openFileInputName).click();
3171  };
3172}
3173
3174function webViewerPresentationMode() {
3175  PDFViewerApplication.requestPresentationMode();
3176}
3177
3178function webViewerPrint() {
3179  PDFViewerApplication.triggerPrinting();
3180}
3181
3182function webViewerDownload() {
3183  PDFViewerApplication.downloadOrSave({
3184    sourceEventType: "download"
3185  });
3186}
3187
3188function webViewerSave() {
3189  PDFViewerApplication.downloadOrSave({
3190    sourceEventType: "save"
3191  });
3192}
3193
3194function webViewerFirstPage() {
3195  if (PDFViewerApplication.pdfDocument) {
3196    PDFViewerApplication.page = 1;
3197  }
3198}
3199
3200function webViewerLastPage() {
3201  if (PDFViewerApplication.pdfDocument) {
3202    PDFViewerApplication.page = PDFViewerApplication.pagesCount;
3203  }
3204}
3205
3206function webViewerNextPage() {
3207  PDFViewerApplication.pdfViewer.nextPage();
3208}
3209
3210function webViewerPreviousPage() {
3211  PDFViewerApplication.pdfViewer.previousPage();
3212}
3213
3214function webViewerZoomIn() {
3215  PDFViewerApplication.zoomIn();
3216}
3217
3218function webViewerZoomOut() {
3219  PDFViewerApplication.zoomOut();
3220}
3221
3222function webViewerZoomReset() {
3223  PDFViewerApplication.zoomReset();
3224}
3225
3226function webViewerPageNumberChanged(evt) {
3227  var pdfViewer = PDFViewerApplication.pdfViewer;
3228
3229  if (evt.value !== "") {
3230    PDFViewerApplication.pdfLinkService.goToPage(evt.value);
3231  }
3232
3233  if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) {
3234    PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
3235  }
3236}
3237
3238function webViewerScaleChanged(evt) {
3239  PDFViewerApplication.pdfViewer.currentScaleValue = evt.value;
3240}
3241
3242function webViewerRotateCw() {
3243  PDFViewerApplication.rotatePages(90);
3244}
3245
3246function webViewerRotateCcw() {
3247  PDFViewerApplication.rotatePages(-90);
3248}
3249
3250function webViewerOptionalContentConfig(evt) {
3251  PDFViewerApplication.pdfViewer.optionalContentConfigPromise = evt.promise;
3252}
3253
3254function webViewerSwitchScrollMode(evt) {
3255  PDFViewerApplication.pdfViewer.scrollMode = evt.mode;
3256}
3257
3258function webViewerSwitchSpreadMode(evt) {
3259  PDFViewerApplication.pdfViewer.spreadMode = evt.mode;
3260}
3261
3262function webViewerDocumentProperties() {
3263  PDFViewerApplication.pdfDocumentProperties.open();
3264}
3265
3266function webViewerFind(evt) {
3267  PDFViewerApplication.findController.executeCommand("find" + evt.type, {
3268    query: evt.query,
3269    phraseSearch: evt.phraseSearch,
3270    caseSensitive: evt.caseSensitive,
3271    entireWord: evt.entireWord,
3272    highlightAll: evt.highlightAll,
3273    findPrevious: evt.findPrevious
3274  });
3275}
3276
3277function webViewerFindFromUrlHash(evt) {
3278  PDFViewerApplication.findController.executeCommand("find", {
3279    query: evt.query,
3280    phraseSearch: evt.phraseSearch,
3281    caseSensitive: false,
3282    entireWord: false,
3283    highlightAll: true,
3284    findPrevious: false
3285  });
3286}
3287
3288function webViewerUpdateFindMatchesCount(_ref13) {
3289  var matchesCount = _ref13.matchesCount;
3290
3291  if (PDFViewerApplication.supportsIntegratedFind) {
3292    PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount);
3293  } else {
3294    PDFViewerApplication.findBar.updateResultsCount(matchesCount);
3295  }
3296}
3297
3298function webViewerUpdateFindControlState(_ref14) {
3299  var state = _ref14.state,
3300      previous = _ref14.previous,
3301      matchesCount = _ref14.matchesCount,
3302      rawQuery = _ref14.rawQuery;
3303
3304  if (PDFViewerApplication.supportsIntegratedFind) {
3305    PDFViewerApplication.externalServices.updateFindControlState({
3306      result: state,
3307      findPrevious: previous,
3308      matchesCount: matchesCount,
3309      rawQuery: rawQuery
3310    });
3311  } else {
3312    PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount);
3313  }
3314}
3315
3316function webViewerScaleChanging(evt) {
3317  PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale);
3318  PDFViewerApplication.pdfViewer.update();
3319}
3320
3321function webViewerRotationChanging(evt) {
3322  PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation;
3323  PDFViewerApplication.forceRendering();
3324  PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber;
3325}
3326
3327function webViewerPageChanging(_ref15) {
3328  var pageNumber = _ref15.pageNumber,
3329      pageLabel = _ref15.pageLabel;
3330  PDFViewerApplication.toolbar.setPageNumber(pageNumber, pageLabel);
3331  PDFViewerApplication.secondaryToolbar.setPageNumber(pageNumber);
3332
3333  if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
3334    PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(pageNumber);
3335  }
3336}
3337
3338function webViewerVisibilityChange(evt) {
3339  if (document.visibilityState === "visible") {
3340    setZoomDisabledTimeout();
3341  }
3342}
3343
3344var zoomDisabledTimeout = null;
3345
3346function setZoomDisabledTimeout() {
3347  if (zoomDisabledTimeout) {
3348    clearTimeout(zoomDisabledTimeout);
3349  }
3350
3351  zoomDisabledTimeout = setTimeout(function () {
3352    zoomDisabledTimeout = null;
3353  }, WHEEL_ZOOM_DISABLED_TIMEOUT);
3354}
3355
3356function webViewerWheel(evt) {
3357  var pdfViewer = PDFViewerApplication.pdfViewer,
3358      supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys;
3359
3360  if (pdfViewer.isInPresentationMode) {
3361    return;
3362  }
3363
3364  if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) {
3365    evt.preventDefault();
3366
3367    if (zoomDisabledTimeout || document.visibilityState === "hidden") {
3368      return;
3369    }
3370
3371    var previousScale = pdfViewer.currentScale;
3372    var delta = (0, _ui_utils.normalizeWheelEventDirection)(evt);
3373    var ticks = 0;
3374
3375    if (evt.deltaMode === WheelEvent.DOM_DELTA_LINE || evt.deltaMode === WheelEvent.DOM_DELTA_PAGE) {
3376      if (Math.abs(delta) >= 1) {
3377        ticks = Math.sign(delta);
3378      } else {
3379        ticks = PDFViewerApplication.accumulateWheelTicks(delta);
3380      }
3381    } else {
3382      var PIXELS_PER_LINE_SCALE = 30;
3383      ticks = PDFViewerApplication.accumulateWheelTicks(delta / PIXELS_PER_LINE_SCALE);
3384    }
3385
3386    if (ticks < 0) {
3387      PDFViewerApplication.zoomOut(-ticks);
3388    } else if (ticks > 0) {
3389      PDFViewerApplication.zoomIn(ticks);
3390    }
3391
3392    var currentScale = pdfViewer.currentScale;
3393
3394    if (previousScale !== currentScale) {
3395      var scaleCorrectionFactor = currentScale / previousScale - 1;
3396      var rect = pdfViewer.container.getBoundingClientRect();
3397      var dx = evt.clientX - rect.left;
3398      var dy = evt.clientY - rect.top;
3399      pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;
3400      pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;
3401    }
3402  } else {
3403    setZoomDisabledTimeout();
3404  }
3405}
3406
3407function webViewerTouchStart(evt) {
3408  if (evt.touches.length > 1) {
3409    evt.preventDefault();
3410  }
3411}
3412
3413function webViewerClick(evt) {
3414  if (!PDFViewerApplication.secondaryToolbar.isOpen) {
3415    return;
3416  }
3417
3418  var appConfig = PDFViewerApplication.appConfig;
3419
3420  if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) {
3421    PDFViewerApplication.secondaryToolbar.close();
3422  }
3423}
3424
3425function webViewerKeyDown(evt) {
3426  if (PDFViewerApplication.overlayManager.active) {
3427    return;
3428  }
3429
3430  var handled = false,
3431      ensureViewerFocused = false;
3432  var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0);
3433  var pdfViewer = PDFViewerApplication.pdfViewer;
3434  var isViewerInPresentationMode = pdfViewer === null || pdfViewer === void 0 ? void 0 : pdfViewer.isInPresentationMode;
3435
3436  if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) {
3437    switch (evt.keyCode) {
3438      case 70:
3439        if (!PDFViewerApplication.supportsIntegratedFind && !evt.shiftKey) {
3440          PDFViewerApplication.findBar.open();
3441          handled = true;
3442        }
3443
3444        break;
3445
3446      case 71:
3447        if (!PDFViewerApplication.supportsIntegratedFind) {
3448          var findState = PDFViewerApplication.findController.state;
3449
3450          if (findState) {
3451            PDFViewerApplication.findController.executeCommand("findagain", {
3452              query: findState.query,
3453              phraseSearch: findState.phraseSearch,
3454              caseSensitive: findState.caseSensitive,
3455              entireWord: findState.entireWord,
3456              highlightAll: findState.highlightAll,
3457              findPrevious: cmd === 5 || cmd === 12
3458            });
3459          }
3460
3461          handled = true;
3462        }
3463
3464        break;
3465
3466      case 61:
3467      case 107:
3468      case 187:
3469      case 171:
3470        if (!isViewerInPresentationMode) {
3471          PDFViewerApplication.zoomIn();
3472        }
3473
3474        handled = true;
3475        break;
3476
3477      case 173:
3478      case 109:
3479      case 189:
3480        if (!isViewerInPresentationMode) {
3481          PDFViewerApplication.zoomOut();
3482        }
3483
3484        handled = true;
3485        break;
3486
3487      case 48:
3488      case 96:
3489        if (!isViewerInPresentationMode) {
3490          setTimeout(function () {
3491            PDFViewerApplication.zoomReset();
3492          });
3493          handled = false;
3494        }
3495
3496        break;
3497
3498      case 38:
3499        if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {
3500          PDFViewerApplication.page = 1;
3501          handled = true;
3502          ensureViewerFocused = true;
3503        }
3504
3505        break;
3506
3507      case 40:
3508        if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
3509          PDFViewerApplication.page = PDFViewerApplication.pagesCount;
3510          handled = true;
3511          ensureViewerFocused = true;
3512        }
3513
3514        break;
3515    }
3516  }
3517
3518  var eventBus = PDFViewerApplication.eventBus;
3519
3520  if (cmd === 1 || cmd === 8) {
3521    switch (evt.keyCode) {
3522      case 83:
3523        eventBus.dispatch("download", {
3524          source: window
3525        });
3526        handled = true;
3527        break;
3528
3529      case 79:
3530        {
3531          eventBus.dispatch("openfile", {
3532            source: window
3533          });
3534          handled = true;
3535        }
3536        break;
3537    }
3538  }
3539
3540  if (cmd === 3 || cmd === 10) {
3541    switch (evt.keyCode) {
3542      case 80:
3543        PDFViewerApplication.requestPresentationMode();
3544        handled = true;
3545        break;
3546
3547      case 71:
3548        PDFViewerApplication.appConfig.toolbar.pageNumber.select();
3549        handled = true;
3550        break;
3551    }
3552  }
3553
3554  if (handled) {
3555    if (ensureViewerFocused && !isViewerInPresentationMode) {
3556      pdfViewer.focus();
3557    }
3558
3559    evt.preventDefault();
3560    return;
3561  }
3562
3563  var curElement = (0, _ui_utils.getActiveOrFocusedElement)();
3564  var curElementTagName = curElement === null || curElement === void 0 ? void 0 : curElement.tagName.toUpperCase();
3565
3566  if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElement !== null && curElement !== void 0 && curElement.isContentEditable) {
3567    if (evt.keyCode !== 27) {
3568      return;
3569    }
3570  }
3571
3572  if (cmd === 0) {
3573    var turnPage = 0,
3574        turnOnlyIfPageFit = false;
3575
3576    switch (evt.keyCode) {
3577      case 38:
3578      case 33:
3579        if (pdfViewer.isVerticalScrollbarEnabled) {
3580          turnOnlyIfPageFit = true;
3581        }
3582
3583        turnPage = -1;
3584        break;
3585
3586      case 8:
3587        if (!isViewerInPresentationMode) {
3588          turnOnlyIfPageFit = true;
3589        }
3590
3591        turnPage = -1;
3592        break;
3593
3594      case 37:
3595        if (pdfViewer.isHorizontalScrollbarEnabled) {
3596          turnOnlyIfPageFit = true;
3597        }
3598
3599      case 75:
3600      case 80:
3601        turnPage = -1;
3602        break;
3603
3604      case 27:
3605        if (PDFViewerApplication.secondaryToolbar.isOpen) {
3606          PDFViewerApplication.secondaryToolbar.close();
3607          handled = true;
3608        }
3609
3610        if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) {
3611          PDFViewerApplication.findBar.close();
3612          handled = true;
3613        }
3614
3615        break;
3616
3617      case 40:
3618      case 34:
3619        if (pdfViewer.isVerticalScrollbarEnabled) {
3620          turnOnlyIfPageFit = true;
3621        }
3622
3623        turnPage = 1;
3624        break;
3625
3626      case 13:
3627      case 32:
3628        if (!isViewerInPresentationMode) {
3629          turnOnlyIfPageFit = true;
3630        }
3631
3632        turnPage = 1;
3633        break;
3634
3635      case 39:
3636        if (pdfViewer.isHorizontalScrollbarEnabled) {
3637          turnOnlyIfPageFit = true;
3638        }
3639
3640      case 74:
3641      case 78:
3642        turnPage = 1;
3643        break;
3644
3645      case 36:
3646        if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {
3647          PDFViewerApplication.page = 1;
3648          handled = true;
3649          ensureViewerFocused = true;
3650        }
3651
3652        break;
3653
3654      case 35:
3655        if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
3656          PDFViewerApplication.page = PDFViewerApplication.pagesCount;
3657          handled = true;
3658          ensureViewerFocused = true;
3659        }
3660
3661        break;
3662
3663      case 83:
3664        PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT);
3665        break;
3666
3667      case 72:
3668        PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND);
3669        break;
3670
3671      case 82:
3672        PDFViewerApplication.rotatePages(90);
3673        break;
3674
3675      case 115:
3676        PDFViewerApplication.pdfSidebar.toggle();
3677        break;
3678    }
3679
3680    if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) {
3681      if (turnPage > 0) {
3682        pdfViewer.nextPage();
3683      } else {
3684        pdfViewer.previousPage();
3685      }
3686
3687      handled = true;
3688    }
3689  }
3690
3691  if (cmd === 4) {
3692    switch (evt.keyCode) {
3693      case 13:
3694      case 32:
3695        if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") {
3696          break;
3697        }
3698
3699        if (PDFViewerApplication.page > 1) {
3700          PDFViewerApplication.page--;
3701        }
3702
3703        handled = true;
3704        break;
3705
3706      case 82:
3707        PDFViewerApplication.rotatePages(-90);
3708        break;
3709    }
3710  }
3711
3712  if (!handled && !isViewerInPresentationMode) {
3713    if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") {
3714      ensureViewerFocused = true;
3715    }
3716  }
3717
3718  if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) {
vendor: 9,779 bytes, lines 3719-4063
3719    pdfViewer.focus();
3720  }
3721
3722  if (handled) {
3723    evt.preventDefault();
3724  }
3725}
3726
3727function beforeUnload(evt) {
3728  evt.preventDefault();
3729  evt.returnValue = "";
3730  return false;
3731}
3732
3733var PDFPrintServiceFactory = {
3734  instance: {
3735    supportsPrinting: false,
3736    createPrintService: function createPrintService() {
3737      throw new Error("Not implemented: createPrintService");
3738    }
3739  }
3740};
3741exports.PDFPrintServiceFactory = PDFPrintServiceFactory;
3742
3743/***/ }),
3744/* 4 */
3745/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3746
3747
3748
3749module.exports = __webpack_require__(5);
3750
3751/***/ }),
3752/* 5 */
3753/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3754
3755/* module decorator */ module = __webpack_require__.nmd(module);
3756
3757
3758function _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); }
3759
3760var runtime = function (exports) {
3761  "use strict";
3762
3763  var Op = Object.prototype;
3764  var hasOwn = Op.hasOwnProperty;
3765  var undefined;
3766  var $Symbol = typeof Symbol === "function" ? Symbol : {};
3767  var iteratorSymbol = $Symbol.iterator || "@@iterator";
3768  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
3769  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
3770
3771  function define(obj, key, value) {
3772    Object.defineProperty(obj, key, {
3773      value: value,
3774      enumerable: true,
3775      configurable: true,
3776      writable: true
3777    });
3778    return obj[key];
3779  }
3780
3781  try {
3782    define({}, "");
3783  } catch (err) {
3784    define = function define(obj, key, value) {
3785      return obj[key] = value;
3786    };
3787  }
3788
3789  function wrap(innerFn, outerFn, self, tryLocsList) {
3790    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
3791    var generator = Object.create(protoGenerator.prototype);
3792    var context = new Context(tryLocsList || []);
3793    generator._invoke = makeInvokeMethod(innerFn, self, context);
3794    return generator;
3795  }
3796
3797  exports.wrap = wrap;
3798
3799  function tryCatch(fn, obj, arg) {
3800    try {
3801      return {
3802        type: "normal",
3803        arg: fn.call(obj, arg)
3804      };
3805    } catch (err) {
3806      return {
3807        type: "throw",
3808        arg: err
3809      };
3810    }
3811  }
3812
3813  var GenStateSuspendedStart = "suspendedStart";
3814  var GenStateSuspendedYield = "suspendedYield";
3815  var GenStateExecuting = "executing";
3816  var GenStateCompleted = "completed";
3817  var ContinueSentinel = {};
3818
3819  function Generator() {}
3820
3821  function GeneratorFunction() {}
3822
3823  function GeneratorFunctionPrototype() {}
3824
3825  var IteratorPrototype = {};
3826  define(IteratorPrototype, iteratorSymbol, function () {
3827    return this;
3828  });
3829  var getProto = Object.getPrototypeOf;
3830  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
3831
3832  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
3833    IteratorPrototype = NativeIteratorPrototype;
3834  }
3835
3836  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
3837  GeneratorFunction.prototype = GeneratorFunctionPrototype;
3838  define(Gp, "constructor", GeneratorFunctionPrototype);
3839  define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
3840  GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction");
3841
3842  function defineIteratorMethods(prototype) {
3843    ["next", "throw", "return"].forEach(function (method) {
3844      define(prototype, method, function (arg) {
3845        return this._invoke(method, arg);
3846      });
3847    });
3848  }
3849
3850  exports.isGeneratorFunction = function (genFun) {
3851    var ctor = typeof genFun === "function" && genFun.constructor;
3852    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
3853  };
3854
3855  exports.mark = function (genFun) {
3856    if (Object.setPrototypeOf) {
3857      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
3858    } else {
3859      genFun.__proto__ = GeneratorFunctionPrototype;
3860      define(genFun, toStringTagSymbol, "GeneratorFunction");
3861    }
3862
3863    genFun.prototype = Object.create(Gp);
3864    return genFun;
3865  };
3866
3867  exports.awrap = function (arg) {
3868    return {
3869      __await: arg
3870    };
3871  };
3872
3873  function AsyncIterator(generator, PromiseImpl) {
3874    function invoke(method, arg, resolve, reject) {
3875      var record = tryCatch(generator[method], generator, arg);
3876
3877      if (record.type === "throw") {
3878        reject(record.arg);
3879      } else {
3880        var result = record.arg;
3881        var value = result.value;
3882
3883        if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
3884          return PromiseImpl.resolve(value.__await).then(function (value) {
3885            invoke("next", value, resolve, reject);
3886          }, function (err) {
3887            invoke("throw", err, resolve, reject);
3888          });
3889        }
3890
3891        return PromiseImpl.resolve(value).then(function (unwrapped) {
3892          result.value = unwrapped;
3893          resolve(result);
3894        }, function (error) {
3895          return invoke("throw", error, resolve, reject);
3896        });
3897      }
3898    }
3899
3900    var previousPromise;
3901
3902    function enqueue(method, arg) {
3903      function callInvokeWithMethodAndArg() {
3904        return new PromiseImpl(function (resolve, reject) {
3905          invoke(method, arg, resolve, reject);
3906        });
3907      }
3908
3909      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
3910    }
3911
3912    this._invoke = enqueue;
3913  }
3914
3915  defineIteratorMethods(AsyncIterator.prototype);
3916  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
3917    return this;
3918  });
3919  exports.AsyncIterator = AsyncIterator;
3920
3921  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
3922    if (PromiseImpl === void 0) PromiseImpl = Promise;
3923    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
3924    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
3925      return result.done ? result.value : iter.next();
3926    });
3927  };
3928
3929  function makeInvokeMethod(innerFn, self, context) {
3930    var state = GenStateSuspendedStart;
3931    return function invoke(method, arg) {
3932      if (state === GenStateExecuting) {
3933        throw new Error("Generator is already running");
3934      }
3935
3936      if (state === GenStateCompleted) {
3937        if (method === "throw") {
3938          throw arg;
3939        }
3940
3941        return doneResult();
3942      }
3943
3944      context.method = method;
3945      context.arg = arg;
3946
3947      while (true) {
3948        var delegate = context.delegate;
3949
3950        if (delegate) {
3951          var delegateResult = maybeInvokeDelegate(delegate, context);
3952
3953          if (delegateResult) {
3954            if (delegateResult === ContinueSentinel) continue;
3955            return delegateResult;
3956          }
3957        }
3958
3959        if (context.method === "next") {
3960          context.sent = context._sent = context.arg;
3961        } else if (context.method === "throw") {
3962          if (state === GenStateSuspendedStart) {
3963            state = GenStateCompleted;
3964            throw context.arg;
3965          }
3966
3967          context.dispatchException(context.arg);
3968        } else if (context.method === "return") {
3969          context.abrupt("return", context.arg);
3970        }
3971
3972        state = GenStateExecuting;
3973        var record = tryCatch(innerFn, self, context);
3974
3975        if (record.type === "normal") {
3976          state = context.done ? GenStateCompleted : GenStateSuspendedYield;
3977
3978          if (record.arg === ContinueSentinel) {
3979            continue;
3980          }
3981
3982          return {
3983            value: record.arg,
3984            done: context.done
3985          };
3986        } else if (record.type === "throw") {
3987          state = GenStateCompleted;
3988          context.method = "throw";
3989          context.arg = record.arg;
3990        }
3991      }
3992    };
3993  }
3994
3995  function maybeInvokeDelegate(delegate, context) {
3996    var method = delegate.iterator[context.method];
3997
3998    if (method === undefined) {
3999      context.delegate = null;
4000
4001      if (context.method === "throw") {
4002        if (delegate.iterator["return"]) {
4003          context.method = "return";
4004          context.arg = undefined;
4005          maybeInvokeDelegate(delegate, context);
4006
4007          if (context.method === "throw") {
4008            return ContinueSentinel;
4009          }
4010        }
4011
4012        context.method = "throw";
4013        context.arg = new TypeError("The iterator does not provide a 'throw' method");
4014      }
4015
4016      return ContinueSentinel;
4017    }
4018
4019    var record = tryCatch(method, delegate.iterator, context.arg);
4020
4021    if (record.type === "throw") {
4022      context.method = "throw";
4023      context.arg = record.arg;
4024      context.delegate = null;
4025      return ContinueSentinel;
4026    }
4027
4028    var info = record.arg;
4029
4030    if (!info) {
4031      context.method = "throw";
4032      context.arg = new TypeError("iterator result is not an object");
4033      context.delegate = null;
4034      return ContinueSentinel;
4035    }
4036
4037    if (info.done) {
4038      context[delegate.resultName] = info.value;
4039      context.next = delegate.nextLoc;
4040
4041      if (context.method !== "return") {
4042        context.method = "next";
4043        context.arg = undefined;
4044      }
4045    } else {
4046      return info;
4047    }
4048
4049    context.delegate = null;
4050    return ContinueSentinel;
4051  }
4052
4053  defineIteratorMethods(Gp);
4054  define(Gp, toStringTagSymbol, "Generator");
4055  define(Gp, iteratorSymbol, function () {
4056    return this;
4057  });
4058  define(Gp, "toString", function () {
4059    return "[object Generator]";
4060  });
4061
4062  function pushTryEntry(locs) {
4063    var entry = {
vendor: 7,737 bytes, lines 4064-4367
4064      tryLoc: locs[0]
4065    };
4066
4067    if (1 in locs) {
4068      entry.catchLoc = locs[1];
4069    }
4070
4071    if (2 in locs) {
4072      entry.finallyLoc = locs[2];
4073      entry.afterLoc = locs[3];
4074    }
4075
4076    this.tryEntries.push(entry);
4077  }
4078
4079  function resetTryEntry(entry) {
4080    var record = entry.completion || {};
4081    record.type = "normal";
4082    delete record.arg;
4083    entry.completion = record;
4084  }
4085
4086  function Context(tryLocsList) {
4087    this.tryEntries = [{
4088      tryLoc: "root"
4089    }];
4090    tryLocsList.forEach(pushTryEntry, this);
4091    this.reset(true);
4092  }
4093
4094  exports.keys = function (object) {
4095    var keys = [];
4096
4097    for (var key in object) {
4098      keys.push(key);
4099    }
4100
4101    keys.reverse();
4102    return function next() {
4103      while (keys.length) {
4104        var key = keys.pop();
4105
4106        if (key in object) {
4107          next.value = key;
4108          next.done = false;
4109          return next;
4110        }
4111      }
4112
4113      next.done = true;
4114      return next;
4115    };
4116  };
4117
4118  function values(iterable) {
4119    if (iterable) {
4120      var iteratorMethod = iterable[iteratorSymbol];
4121
4122      if (iteratorMethod) {
4123        return iteratorMethod.call(iterable);
4124      }
4125
4126      if (typeof iterable.next === "function") {
4127        return iterable;
4128      }
4129
4130      if (!isNaN(iterable.length)) {
4131        var i = -1,
4132            next = function next() {
4133          while (++i < iterable.length) {
4134            if (hasOwn.call(iterable, i)) {
4135              next.value = iterable[i];
4136              next.done = false;
4137              return next;
4138            }
4139          }
4140
4141          next.value = undefined;
4142          next.done = true;
4143          return next;
4144        };
4145
4146        return next.next = next;
4147      }
4148    }
4149
4150    return {
4151      next: doneResult
4152    };
4153  }
4154
4155  exports.values = values;
4156
4157  function doneResult() {
4158    return {
4159      value: undefined,
4160      done: true
4161    };
4162  }
4163
4164  Context.prototype = {
4165    constructor: Context,
4166    reset: function reset(skipTempReset) {
4167      this.prev = 0;
4168      this.next = 0;
4169      this.sent = this._sent = undefined;
4170      this.done = false;
4171      this.delegate = null;
4172      this.method = "next";
4173      this.arg = undefined;
4174      this.tryEntries.forEach(resetTryEntry);
4175
4176      if (!skipTempReset) {
4177        for (var name in this) {
4178          if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
4179            this[name] = undefined;
4180          }
4181        }
4182      }
4183    },
4184    stop: function stop() {
4185      this.done = true;
4186      var rootEntry = this.tryEntries[0];
4187      var rootRecord = rootEntry.completion;
4188
4189      if (rootRecord.type === "throw") {
4190        throw rootRecord.arg;
4191      }
4192
4193      return this.rval;
4194    },
4195    dispatchException: function dispatchException(exception) {
4196      if (this.done) {
4197        throw exception;
4198      }
4199
4200      var context = this;
4201
4202      function handle(loc, caught) {
4203        record.type = "throw";
4204        record.arg = exception;
4205        context.next = loc;
4206
4207        if (caught) {
4208          context.method = "next";
4209          context.arg = undefined;
4210        }
4211
4212        return !!caught;
4213      }
4214
4215      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
4216        var entry = this.tryEntries[i];
4217        var record = entry.completion;
4218
4219        if (entry.tryLoc === "root") {
4220          return handle("end");
4221        }
4222
4223        if (entry.tryLoc <= this.prev) {
4224          var hasCatch = hasOwn.call(entry, "catchLoc");
4225          var hasFinally = hasOwn.call(entry, "finallyLoc");
4226
4227          if (hasCatch && hasFinally) {
4228            if (this.prev < entry.catchLoc) {
4229              return handle(entry.catchLoc, true);
4230            } else if (this.prev < entry.finallyLoc) {
4231              return handle(entry.finallyLoc);
4232            }
4233          } else if (hasCatch) {
4234            if (this.prev < entry.catchLoc) {
4235              return handle(entry.catchLoc, true);
4236            }
4237          } else if (hasFinally) {
4238            if (this.prev < entry.finallyLoc) {
4239              return handle(entry.finallyLoc);
4240            }
4241          } else {
4242            throw new Error("try statement without catch or finally");
4243          }
4244        }
4245      }
4246    },
4247    abrupt: function abrupt(type, arg) {
4248      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
4249        var entry = this.tryEntries[i];
4250
4251        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
4252          var finallyEntry = entry;
4253          break;
4254        }
4255      }
4256
4257      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
4258        finallyEntry = null;
4259      }
4260
4261      var record = finallyEntry ? finallyEntry.completion : {};
4262      record.type = type;
4263      record.arg = arg;
4264
4265      if (finallyEntry) {
4266        this.method = "next";
4267        this.next = finallyEntry.finallyLoc;
4268        return ContinueSentinel;
4269      }
4270
4271      return this.complete(record);
4272    },
4273    complete: function complete(record, afterLoc) {
4274      if (record.type === "throw") {
4275        throw record.arg;
4276      }
4277
4278      if (record.type === "break" || record.type === "continue") {
4279        this.next = record.arg;
4280      } else if (record.type === "return") {
4281        this.rval = this.arg = record.arg;
4282        this.method = "return";
4283        this.next = "end";
4284      } else if (record.type === "normal" && afterLoc) {
4285        this.next = afterLoc;
4286      }
4287
4288      return ContinueSentinel;
4289    },
4290    finish: function finish(finallyLoc) {
4291      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
4292        var entry = this.tryEntries[i];
4293
4294        if (entry.finallyLoc === finallyLoc) {
4295          this.complete(entry.completion, entry.afterLoc);
4296          resetTryEntry(entry);
4297          return ContinueSentinel;
4298        }
4299      }
4300    },
4301    "catch": function _catch(tryLoc) {
4302      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
4303        var entry = this.tryEntries[i];
4304
4305        if (entry.tryLoc === tryLoc) {
4306          var record = entry.completion;
4307
4308          if (record.type === "throw") {
4309            var thrown = record.arg;
4310            resetTryEntry(entry);
4311          }
4312
4313          return thrown;
4314        }
4315      }
4316
4317      throw new Error("illegal catch attempt");
4318    },
4319    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
4320      this.delegate = {
4321        iterator: values(iterable),
4322        resultName: resultName,
4323        nextLoc: nextLoc
4324      };
4325
4326      if (this.method === "next") {
4327        this.arg = undefined;
4328      }
4329
4330      return ContinueSentinel;
4331    }
4332  };
4333  return exports;
4334}(( false ? 0 : _typeof(module)) === "object" ? module.exports : {});
4335
4336try {
4337  regeneratorRuntime = runtime;
4338} catch (accidentalStrictMode) {
4339  if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") {
4340    globalThis.regeneratorRuntime = runtime;
4341  } else {
4342    Function("r", "regeneratorRuntime = r")(runtime);
4343  }
4344}
4345
4346/***/ }),
4347/* 6 */
4348/***/ ((__unused_webpack_module, exports) => {
4349
4350
4351
4352Object.defineProperty(exports, "__esModule", ({
4353  value: true
4354}));
4355exports.apiPageLayoutToSpreadMode = apiPageLayoutToSpreadMode;
4356exports.apiPageModeToSidebarView = apiPageModeToSidebarView;
4357exports.approximateFraction = approximateFraction;
4358exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
4359exports.binarySearchFirstItem = binarySearchFirstItem;
4360exports.getActiveOrFocusedElement = getActiveOrFocusedElement;
4361exports.getOutputScale = getOutputScale;
4362exports.getPageSizeInches = getPageSizeInches;
4363exports.getVisibleElements = getVisibleElements;
4364exports.isPortraitOrientation = isPortraitOrientation;
4365exports.isValidRotation = isValidRotation;
4366exports.isValidScrollMode = isValidScrollMode;
4367exports.isValidSpreadMode = isValidSpreadMode;
vendor: 5,417 bytes, lines 4368-4431
4368exports.moveToEndOfArray = moveToEndOfArray;
4369exports.noContextMenuHandler = noContextMenuHandler;
4370exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
4371exports.normalizeWheelEventDirection = normalizeWheelEventDirection;
4372exports.parseQueryString = parseQueryString;
4373exports.roundToDivide = roundToDivide;
4374exports.scrollIntoView = scrollIntoView;
4375exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
4376exports.watchScroll = watchScroll;
4377exports.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.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;
4378
4379function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, 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; } } }; }
4380
4381function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4382
4383function _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); } }
4384
4385function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
4386
4387function _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); }
4388
4389function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4390
4391function _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."); }
4392
4393function _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); }
4394
4395function _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; }
4396
4397function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
4398
4399function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
4400
4401var CSS_UNITS = 96.0 / 72.0;
4402exports.CSS_UNITS = CSS_UNITS;
4403var DEFAULT_SCALE_VALUE = "auto";
4404exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
4405var DEFAULT_SCALE = 1.0;
4406exports.DEFAULT_SCALE = DEFAULT_SCALE;
4407var MIN_SCALE = 0.1;
4408exports.MIN_SCALE = MIN_SCALE;
4409var MAX_SCALE = 10.0;
4410exports.MAX_SCALE = MAX_SCALE;
4411var UNKNOWN_SCALE = 0;
4412exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
4413var MAX_AUTO_SCALE = 1.25;
4414exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
4415var SCROLLBAR_PADDING = 40;
4416exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
4417var VERTICAL_PADDING = 5;
4418exports.VERTICAL_PADDING = VERTICAL_PADDING;
4419var LOADINGBAR_END_OFFSET_VAR = "--loadingBar-end-offset";
4420var PresentationModeState = {
4421  UNKNOWN: 0,
4422  NORMAL: 1,
4423  CHANGING: 2,
4424  FULLSCREEN: 3
4425};
4426exports.PresentationModeState = PresentationModeState;
4427var SidebarView = {
4428  UNKNOWN: -1,
4429  NONE: 0,
4430  THUMBS: 1,
4431  OUTLINE: 2,
4432  ATTACHMENTS: 3,
4433  LAYERS: 4
4434};
4435exports.SidebarView = SidebarView;
4436var RendererType = {
4437  CANVAS: "canvas",
4438  SVG: "svg"
4439};
4440exports.RendererType = RendererType;
4441var TextLayerMode = {
4442  DISABLE: 0,
4443  ENABLE: 1,
4444  ENABLE_ENHANCE: 2
4445};
4446exports.TextLayerMode = TextLayerMode;
4447var ScrollMode = {
4448  UNKNOWN: -1,
4449  VERTICAL: 0,
4450  HORIZONTAL: 1,
4451  WRAPPED: 2
4452};
4453exports.ScrollMode = ScrollMode;
4454var SpreadMode = {
4455  UNKNOWN: -1,
4456  NONE: 0,
4457  ODD: 1,
4458  EVEN: 2
4459};
4460exports.SpreadMode = SpreadMode;
4461var AutoPrintRegExp = /\bprint\s*\(/;
4462exports.AutoPrintRegExp = AutoPrintRegExp;
4463
4464function getOutputScale(ctx) {
4465  var devicePixelRatio = window.devicePixelRatio || 1;
4466  var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
4467  var pixelRatio = devicePixelRatio / backingStoreRatio;
4468  return {
4469    sx: pixelRatio,
4470    sy: pixelRatio,
4471    scaled: pixelRatio !== 1
4472  };
4473}
4474
4475function scrollIntoView(element, spot) {
4476  var scrollMatches = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
4477  var parent = element.offsetParent;
4478
4479  if (!parent) {
4480    console.error("offsetParent is not set -- cannot scroll");
4481    return;
4482  }
4483
4484  var offsetY = element.offsetTop + element.clientTop;
4485  var offsetX = element.offsetLeft + element.clientLeft;
4486
4487  while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains("markedContent") || getComputedStyle(parent).overflow === "hidden")) {
4488    offsetY += parent.offsetTop;
4489    offsetX += parent.offsetLeft;
4490    parent = parent.offsetParent;
4491
4492    if (!parent) {
4493      return;
4494    }
4495  }
4496
4497  if (spot) {
4498    if (spot.top !== undefined) {
4499      offsetY += spot.top;
4500    }
4501
4502    if (spot.left !== undefined) {
4503      offsetX += spot.left;
4504      parent.scrollLeft = offsetX;
4505    }
4506  }
4507
4508  parent.scrollTop = offsetY;
4509}
4510
4511function watchScroll(viewAreaElement, callback) {
4512  var debounceScroll = function debounceScroll(evt) {
4513    if (rAF) {
4514      return;
4515    }
4516
4517    rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
4518      rAF = null;
4519      var currentX = viewAreaElement.scrollLeft;
4520      var lastX = state.lastX;
4521
4522      if (currentX !== lastX) {
4523        state.right = currentX > lastX;
4524      }
4525
4526      state.lastX = currentX;
4527      var currentY = viewAreaElement.scrollTop;
4528      var lastY = state.lastY;
4529
4530      if (currentY !== lastY) {
4531        state.down = currentY > lastY;
4532      }
4533
4534      state.lastY = currentY;
4535      callback(state);
4536    });
4537  };
4538
4539  var state = {
4540    right: true,
4541    down: true,
4542    lastX: viewAreaElement.scrollLeft,
4543    lastY: viewAreaElement.scrollTop,
4544    _eventHandler: debounceScroll
4545  };
4546  var rAF = null;
4547  viewAreaElement.addEventListener("scroll", debounceScroll, true);
4548  return state;
4549}
4550
4551function parseQueryString(query) {
4552  var parts = query.split("&");
4553  var params = Object.create(null);
4554
4555  for (var i = 0, ii = parts.length; i < ii; ++i) {
4556    var param = parts[i].split("=");
4557    var key = param[0].toLowerCase();
4558    var value = param.length > 1 ? param[1] : null;
4559    params[decodeURIComponent(key)] = decodeURIComponent(value);
4560  }
4561
4562  return params;
4563}
4564
4565function binarySearchFirstItem(items, condition) {
4566  var minIndex = 0;
4567  var maxIndex = items.length - 1;
4568
4569  if (maxIndex < 0 || !condition(items[maxIndex])) {
4570    return items.length;
4571  }
4572
4573  if (condition(items[minIndex])) {
4574    return minIndex;
4575  }
4576
4577  while (minIndex < maxIndex) {
4578    var currentIndex = minIndex + maxIndex >> 1;
4579    var currentItem = items[currentIndex];
4580
4581    if (condition(currentItem)) {
4582      maxIndex = currentIndex;
4583    } else {
4584      minIndex = currentIndex + 1;
4585    }
4586  }
4587
4588  return minIndex;
4589}
4590
4591function approximateFraction(x) {
4592  if (Math.floor(x) === x) {
4593    return [x, 1];
4594  }
4595
4596  var xinv = 1 / x;
4597  var limit = 8;
4598
4599  if (xinv > limit) {
4600    return [1, limit];
4601  } else if (Math.floor(xinv) === xinv) {
4602    return [1, xinv];
4603  }
4604
4605  var x_ = x > 1 ? xinv : x;
4606  var a = 0,
4607      b = 1,
4608      c = 1,
4609      d = 1;
4610
4611  while (true) {
4612    var p = a + c,
4613        q = b + d;
4614
4615    if (q > limit) {
4616      break;
4617    }
4618
4619    if (x_ <= p / q) {
4620      c = p;
4621      d = q;
4622    } else {
4623      a = p;
4624      b = q;
4625    }
4626  }
4627
4628  var result;
4629
4630  if (x_ - a / b < c / d - x_) {
4631    result = x_ === x ? [a, b] : [b, a];
4632  } else {
4633    result = x_ === x ? [c, d] : [d, c];
4634  }
4635
4636  return result;
4637}
4638
4639function roundToDivide(x, div) {
4640  var r = x % div;
4641  return r === 0 ? x : Math.round(x - r + div);
4642}
4643
4644function getPageSizeInches(_ref) {
4645  var view = _ref.view,
4646      userUnit = _ref.userUnit,
4647      rotate = _ref.rotate;
4648
4649  var _view = _slicedToArray(view, 4),
4650      x1 = _view[0],
4651      y1 = _view[1],
4652      x2 = _view[2],
4653      y2 = _view[3];
4654
4655  var changeOrientation = rotate % 180 !== 0;
4656  var width = (x2 - x1) / 72 * userUnit;
4657  var height = (y2 - y1) / 72 * userUnit;
4658  return {
4659    width: changeOrientation ? height : width,
4660    height: changeOrientation ? width : height
4661  };
4662}
4663
4664function backtrackBeforeAllVisibleElements(index, views, top) {
4665  if (index < 2) {
4666    return index;
4667  }
4668
4669  var elt = views[index].div;
4670  var pageTop = elt.offsetTop + elt.clientTop;
4671
4672  if (pageTop >= top) {
4673    elt = views[index - 1].div;
4674    pageTop = elt.offsetTop + elt.clientTop;
4675  }
4676
4677  for (var i = index - 2; i >= 0; --i) {
4678    elt = views[i].div;
4679
4680    if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
4681      break;
4682    }
4683
4684    index = i;
4685  }
4686
4687  return index;
4688}
4689
4690function getVisibleElements(_ref2) {
4691  var scrollEl = _ref2.scrollEl,
4692      views = _ref2.views,
4693      _ref2$sortByVisibilit = _ref2.sortByVisibility,
4694      sortByVisibility = _ref2$sortByVisibilit === void 0 ? false : _ref2$sortByVisibilit,
4695      _ref2$horizontal = _ref2.horizontal,
4696      horizontal = _ref2$horizontal === void 0 ? false : _ref2$horizontal,
4697      _ref2$rtl = _ref2.rtl,
4698      rtl = _ref2$rtl === void 0 ? false : _ref2$rtl;
4699  var top = scrollEl.scrollTop,
4700      bottom = top + scrollEl.clientHeight;
4701  var left = scrollEl.scrollLeft,
4702      right = left + scrollEl.clientWidth;
4703
4704  function isElementBottomAfterViewTop(view) {
4705    var element = view.div;
4706    var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
4707    return elementBottom > top;
4708  }
4709
4710  function isElementNextAfterViewHorizontally(view) {
4711    var element = view.div;
4712    var elementLeft = element.offsetLeft + element.clientLeft;
4713    var elementRight = elementLeft + element.clientWidth;
4714    return rtl ? elementLeft < right : elementRight > left;
4715  }
4716
4717  var visible = [],
4718      numViews = views.length;
4719  var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);
4720
4721  if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
4722    firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
4723  }
4724
4725  var lastEdge = horizontal ? right : -1;
4726
4727  for (var i = firstVisibleElementInd; i < numViews; i++) {
4728    var view = views[i],
4729        element = view.div;
4730    var currentWidth = element.offsetLeft + element.clientLeft;
4731    var currentHeight = element.offsetTop + element.clientTop;
4732    var viewWidth = element.clientWidth,
4733        viewHeight = element.clientHeight;
4734    var viewRight = currentWidth + viewWidth;
4735    var viewBottom = currentHeight + viewHeight;
4736
4737    if (lastEdge === -1) {
4738      if (viewBottom >= bottom) {
4739        lastEdge = viewBottom;
4740      }
4741    } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {
4742      break;
4743    }
4744
4745    if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {
4746      continue;
4747    }
4748
4749    var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
4750    var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
4751    var fractionHeight = (viewHeight - hiddenHeight) / viewHeight,
4752        fractionWidth = (viewWidth - hiddenWidth) / viewWidth;
4753    var percent = fractionHeight * fractionWidth * 100 | 0;
4754    visible.push({
4755      id: view.id,
4756      x: currentWidth,
4757      y: currentHeight,
4758      view: view,
4759      percent: percent,
4760      widthPercent: fractionWidth * 100 | 0
4761    });
4762  }
4763
4764  var first = visible[0],
4765      last = visible[visible.length - 1];
4766
4767  if (sortByVisibility) {
4768    visible.sort(function (a, b) {
4769      var pc = a.percent - b.percent;
4770
4771      if (Math.abs(pc) > 0.001) {
4772        return -pc;
4773      }
4774
4775      return a.id - b.id;
4776    });
4777  }
4778
4779  return {
4780    first: first,
4781    last: last,
4782    views: visible
4783  };
4784}
4785
4786function noContextMenuHandler(evt) {
4787  evt.preventDefault();
4788}
4789
4790function normalizeWheelEventDirection(evt) {
4791  var delta = Math.hypot(evt.deltaX, evt.deltaY);
4792  var angle = Math.atan2(evt.deltaY, evt.deltaX);
4793
4794  if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
4795    delta = -delta;
4796  }
4797
4798  return delta;
4799}
4800
4801function normalizeWheelEventDelta(evt) {
4802  var delta = normalizeWheelEventDirection(evt);
4803  var MOUSE_DOM_DELTA_PIXEL_MODE = 0;
4804  var MOUSE_DOM_DELTA_LINE_MODE = 1;
4805  var MOUSE_PIXELS_PER_LINE = 30;
4806  var MOUSE_LINES_PER_PAGE = 30;
4807
4808  if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
4809    delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
4810  } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
4811    delta /= MOUSE_LINES_PER_PAGE;
4812  }
4813
4814  return delta;
4815}
4816
4817function isValidRotation(angle) {
4818  return Number.isInteger(angle) && angle % 90 === 0;
4819}
4820
4821function isValidScrollMode(mode) {
4822  return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;
4823}
4824
4825function isValidSpreadMode(mode) {
4826  return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;
4827}
4828
4829function isPortraitOrientation(size) {
4830  return size.width <= size.height;
4831}
4832
4833var WaitOnType = {
4834  EVENT: "event",
4835  TIMEOUT: "timeout"
4836};
4837exports.WaitOnType = WaitOnType;
4838
4839function waitOnEventOrTimeout(_ref3) {
4840  var target = _ref3.target,
4841      name = _ref3.name,
4842      _ref3$delay = _ref3.delay,
4843      delay = _ref3$delay === void 0 ? 0 : _ref3$delay;
4844  return new Promise(function (resolve, reject) {
4845    if (_typeof(target) !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) {
4846      throw new Error("waitOnEventOrTimeout - invalid parameters.");
4847    }
4848
4849    function handler(type) {
4850      if (target instanceof EventBus) {
4851        target._off(name, eventHandler);
4852      } else {
4853        target.removeEventListener(name, eventHandler);
4854      }
4855
4856      if (timeout) {
4857        clearTimeout(timeout);
4858      }
4859
4860      resolve(type);
4861    }
4862
4863    var eventHandler = handler.bind(null, WaitOnType.EVENT);
4864
4865    if (target instanceof EventBus) {
4866      target._on(name, eventHandler);
4867    } else {
4868      target.addEventListener(name, eventHandler);
4869    }
4870
4871    var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
4872    var timeout = setTimeout(timeoutHandler, delay);
4873  });
4874}
4875
4876var animationStarted = new Promise(function (resolve) {
4877  window.requestAnimationFrame(resolve);
4878});
4879exports.animationStarted = animationStarted;
4880
4881function dispatchDOMEvent(eventName) {
4882  var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
4883  throw new Error("Not implemented: dispatchDOMEvent");
4884}
4885
4886var EventBus = /*#__PURE__*/function () {
4887  function EventBus(options) {
4888    _classCallCheck(this, EventBus);
4889
4890    this._listeners = Object.create(null);
4891  }
4892
4893  _createClass(EventBus, [{
4894    key: "on",
4895    value: function on(eventName, listener) {
4896      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
4897
4898      this._on(eventName, listener, {
4899        external: true,
4900        once: options === null || options === void 0 ? void 0 : options.once
4901      });
4902    }
4903  }, {
4904    key: "off",
4905    value: function off(eventName, listener) {
4906      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
4907
4908      this._off(eventName, listener, {
4909        external: true,
4910        once: options === null || options === void 0 ? void 0 : options.once
4911      });
4912    }
4913  }, {
4914    key: "dispatch",
4915    value: function dispatch(eventName) {
4916      var eventListeners = this._listeners[eventName];
4917
4918      if (!eventListeners || eventListeners.length === 0) {
4919        return;
4920      }
4921
4922      var args = Array.prototype.slice.call(arguments, 1);
4923      var externalListeners;
4924
4925      var _iterator = _createForOfIteratorHelper(eventListeners.slice(0)),
4926          _step;
4927
4928      try {
4929        for (_iterator.s(); !(_step = _iterator.n()).done;) {
4930          var _step$value = _step.value,
4931              _listener = _step$value.listener,
4932              external = _step$value.external,
4933              once = _step$value.once;
4934
4935          if (once) {
4936            this._off(eventName, _listener);
4937          }
4938
4939          if (external) {
4940            (externalListeners || (externalListeners = [])).push(_listener);
4941            continue;
4942          }
4943
4944          _listener.apply(null, args);
4945        }
4946      } catch (err) {
4947        _iterator.e(err);
4948      } finally {
4949        _iterator.f();
4950      }
4951
4952      if (externalListeners) {
4953        var _iterator2 = _createForOfIteratorHelper(externalListeners),
4954            _step2;
4955
4956        try {
4957          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
4958            var listener = _step2.value;
4959            listener.apply(null, args);
4960          }
4961        } catch (err) {
4962          _iterator2.e(err);
4963        } finally {
4964          _iterator2.f();
4965        }
4966
4967        externalListeners = null;
4968      }
4969    }
4970  }, {
4971    key: "_on",
4972    value: function _on(eventName, listener) {
4973      var _this$_listeners;
4974
4975      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
4976      var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []);
4977      eventListeners.push({
4978        listener: listener,
4979        external: (options === null || options === void 0 ? void 0 : options.external) === true,
4980        once: (options === null || options === void 0 ? void 0 : options.once) === true
4981      });
4982    }
4983  }, {
4984    key: "_off",
4985    value: function _off(eventName, listener) {
4986      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
4987      var eventListeners = this._listeners[eventName];
4988
4989      if (!eventListeners) {
4990        return;
4991      }
4992
4993      for (var i = 0, ii = eventListeners.length; i < ii; i++) {
4994        if (eventListeners[i].listener === listener) {
4995          eventListeners.splice(i, 1);
4996          return;
4997        }
4998      }
4999    }
5000  }]);
5001
5002  return EventBus;
5003}();
5004
5005exports.EventBus = EventBus;
5006
5007function clamp(v, min, max) {
5008  return Math.min(Math.max(v, min), max);
5009}
5010
5011var ProgressBar = /*#__PURE__*/function () {
5012  function ProgressBar(id) {
5013    var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
5014        height = _ref4.height,
5015        width = _ref4.width,
5016        units = _ref4.units;
5017
5018    _classCallCheck(this, ProgressBar);
5019
5020    this.visible = true;
5021    this.div = document.querySelector(id + " .progress");
5022    this.bar = this.div.parentNode;
5023    this.height = height || 100;
5024    this.width = width || 100;
5025    this.units = units || "%";
5026    this.div.style.height = this.height + this.units;
5027    this.percent = 0;
5028  }
5029
5030  _createClass(ProgressBar, [{
5031    key: "_updateBar",
5032    value: function _updateBar() {
5033      if (this._indeterminate) {
5034        this.div.classList.add("indeterminate");
5035        this.div.style.width = this.width + this.units;
5036        return;
5037      }
5038
5039      this.div.classList.remove("indeterminate");
5040      var progressSize = this.width * this._percent / 100;
5041      this.div.style.width = progressSize + this.units;
5042    }
5043  }, {
5044    key: "percent",
5045    get: function get() {
5046      return this._percent;
5047    },
5048    set: function set(val) {
5049      this._indeterminate = isNaN(val);
5050      this._percent = clamp(val, 0, 100);
5051
5052      this._updateBar();
5053    }
5054  }, {
5055    key: "setWidth",
5056    value: function setWidth(viewer) {
5057      if (!viewer) {
5058        return;
5059      }
5060
5061      var container = viewer.parentNode;
5062      var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
5063
5064      if (scrollbarWidth > 0) {
5065        var doc = document.documentElement;
5066        doc.style.setProperty(LOADINGBAR_END_OFFSET_VAR, "".concat(scrollbarWidth, "px"));
5067      }
5068    }
5069  }, {
5070    key: "hide",
5071    value: function hide() {
5072      if (!this.visible) {
5073        return;
5074      }
5075
5076      this.visible = false;
5077      this.bar.classList.add("hidden");
5078    }
5079  }, {
5080    key: "show",
5081    value: function show() {
5082      if (this.visible) {
5083        return;
5084      }
5085
5086      this.visible = true;
5087      this.bar.classList.remove("hidden");
5088    }
5089  }]);
5090
5091  return ProgressBar;
5092}();
5093
5094exports.ProgressBar = ProgressBar;
5095
5096function moveToEndOfArray(arr, condition) {
5097  var moved = [],
5098      len = arr.length;
5099  var write = 0;
5100
5101  for (var read = 0; read < len; ++read) {
5102    if (condition(arr[read])) {
5103      moved.push(arr[read]);
5104    } else {
5105      arr[write] = arr[read];
5106      ++write;
5107    }
5108  }
5109
5110  for (var _read = 0; write < len; ++_read, ++write) {
5111    arr[write] = moved[_read];
5112  }
5113}
5114
5115function getActiveOrFocusedElement() {
5116  var curRoot = document;
5117  var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
5118
5119  while ((_curActiveOrFocused = curActiveOrFocused) !== null && _curActiveOrFocused !== void 0 && _curActiveOrFocused.shadowRoot) {
5120    var _curActiveOrFocused;
5121
5122    curRoot = curActiveOrFocused.shadowRoot;
5123    curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
5124  }
5125
5126  return curActiveOrFocused;
5127}
5128
5129function apiPageLayoutToSpreadMode(layout) {
5130  switch (layout) {
5131    case "SinglePage":
5132    case "OneColumn":
5133      return SpreadMode.NONE;
5134
5135    case "TwoColumnLeft":
5136    case "TwoPageLeft":
5137      return SpreadMode.ODD;
5138
5139    case "TwoColumnRight":
5140    case "TwoPageRight":
5141      return SpreadMode.EVEN;
5142  }
5143
5144  return SpreadMode.NONE;
5145}
5146
5147function apiPageModeToSidebarView(mode) {
5148  switch (mode) {
5149    case "UseNone":
5150      return SidebarView.NONE;
5151
5152    case "UseThumbs":
5153      return SidebarView.THUMBS;
5154
5155    case "UseOutlines":
5156      return SidebarView.OUTLINE;
5157
5158    case "UseAttachments":
5159      return SidebarView.ATTACHMENTS;
5160
5161    case "UseOC":
5162      return SidebarView.LAYERS;
5163  }
5164
5165  return SidebarView.NONE;
5166}
5167
5168/***/ }),
5169/* 7 */
5170/***/ ((module) => {
5171
5172
5173
5174var pdfjsLib;
5175
5176if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) {
5177  pdfjsLib = window["pdfjs-dist/build/pdf"];
5178} else {
5179  pdfjsLib = require("./build/pdf.js");
5180}
5181
5182module.exports = pdfjsLib;
5183
5184/***/ }),
5185/* 8 */
5186/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5187
5188
5189
5190Object.defineProperty(exports, "__esModule", ({
5191  value: true
5192}));
5193exports.PDFCursorTools = exports.CursorTool = void 0;
5194
5195var _grab_to_pan = __webpack_require__(9);
5196
5197var _ui_utils = __webpack_require__(6);
5198
5199function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5200
5201function _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); } }
5202
5203function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
5204
5205var CursorTool = {
5206  SELECT: 0,
5207  HAND: 1,
5208  ZOOM: 2
5209};
5210exports.CursorTool = CursorTool;
5211
5212var PDFCursorTools = /*#__PURE__*/function () {
5213  function PDFCursorTools(_ref) {
5214    var _this = this;
5215
5216    var container = _ref.container,
5217        eventBus = _ref.eventBus,
5218        _ref$cursorToolOnLoad = _ref.cursorToolOnLoad,
5219        cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad;
5220
5221    _classCallCheck(this, PDFCursorTools);
5222
5223    this.container = container;
5224    this.eventBus = eventBus;
5225    this.active = CursorTool.SELECT;
5226    this.activeBeforePresentationMode = null;
5227    this.handTool = new _grab_to_pan.GrabToPan({
5228      element: this.container
5229    });
5230
5231    this._addEventListeners();
5232
5233    Promise.resolve().then(function () {
5234      _this.switchTool(cursorToolOnLoad);
5235    });
5236  }
5237
5238  _createClass(PDFCursorTools, [{
5239    key: "activeTool",
5240    get: function get() {
5241      return this.active;
5242    }
5243  }, {
5244    key: "switchTool",
5245    value: function switchTool(tool) {
5246      var _this2 = this;
5247
5248      if (this.activeBeforePresentationMode !== null) {
5249        return;
5250      }
5251
5252      if (tool === this.active) {
5253        return;
5254      }
5255
5256      var disableActiveTool = function disableActiveTool() {
5257        switch (_this2.active) {
5258          case CursorTool.SELECT:
5259            break;
5260
5261          case CursorTool.HAND:
5262            _this2.handTool.deactivate();
5263
5264            break;
5265
5266          case CursorTool.ZOOM:
5267        }
5268      };
5269
5270      switch (tool) {
5271        case CursorTool.SELECT:
5272          disableActiveTool();
5273          break;
5274
5275        case CursorTool.HAND:
5276          disableActiveTool();
5277          this.handTool.activate();
5278          break;
5279
5280        case CursorTool.ZOOM:
5281        default:
5282          console.error("switchTool: \"".concat(tool, "\" is an unsupported value."));
5283          return;
5284      }
5285
5286      this.active = tool;
5287
5288      this._dispatchEvent();
5289    }
5290  }, {
5291    key: "_dispatchEvent",
5292    value: function _dispatchEvent() {
5293      this.eventBus.dispatch("cursortoolchanged", {
5294        source: this,
5295        tool: this.active
5296      });
5297    }
5298  }, {
5299    key: "_addEventListeners",
5300    value: function _addEventListeners() {
5301      var _this3 = this;
5302
5303      this.eventBus._on("switchcursortool", function (evt) {
5304        _this3.switchTool(evt.tool);
5305      });
5306
5307      this.eventBus._on("presentationmodechanged", function (evt) {
5308        switch (evt.state) {
5309          case _ui_utils.PresentationModeState.FULLSCREEN:
5310            {
5311              var previouslyActive = _this3.active;
5312
5313              _this3.switchTool(CursorTool.SELECT);
5314
5315              _this3.activeBeforePresentationMode = previouslyActive;
5316              break;
5317            }
5318
5319          case _ui_utils.PresentationModeState.NORMAL:
5320            {
5321              var _previouslyActive = _this3.activeBeforePresentationMode;
5322              _this3.activeBeforePresentationMode = null;
5323
5324              _this3.switchTool(_previouslyActive);
5325
5326              break;
5327            }
5328        }
5329      });
5330    }
5331  }]);
5332
5333  return PDFCursorTools;
5334}();
5335
5336exports.PDFCursorTools = PDFCursorTools;
5337
5338/***/ }),
5339/* 9 */
5340/***/ ((__unused_webpack_module, exports) => {
5341
5342
5343
5344Object.defineProperty(exports, "__esModule", ({
5345  value: true
5346}));
5347exports.GrabToPan = GrabToPan;
5348
5349function GrabToPan(options) {
5350  this.element = options.element;
5351  this.document = options.element.ownerDocument;
5352
5353  if (typeof options.ignoreTarget === "function") {
5354    this.ignoreTarget = options.ignoreTarget;
5355  }
5356
5357  this.onActiveChanged = options.onActiveChanged;
5358  this.activate = this.activate.bind(this);
5359  this.deactivate = this.deactivate.bind(this);
5360  this.toggle = this.toggle.bind(this);
5361  this._onmousedown = this._onmousedown.bind(this);
5362  this._onmousemove = this._onmousemove.bind(this);
5363  this._endPan = this._endPan.bind(this);
5364  var overlay = this.overlay = document.createElement("div");
5365  overlay.className = "grab-to-pan-grabbing";
5366}
5367
5368GrabToPan.prototype = {
5369  CSS_CLASS_GRAB: "grab-to-pan-grab",
5370  activate: function GrabToPan_activate() {
5371    if (!this.active) {
5372      this.active = true;
5373      this.element.addEventListener("mousedown", this._onmousedown, true);
5374      this.element.classList.add(this.CSS_CLASS_GRAB);
5375
5376      if (this.onActiveChanged) {
5377        this.onActiveChanged(true);
5378      }
5379    }
5380  },
5381  deactivate: function GrabToPan_deactivate() {
5382    if (this.active) {
5383      this.active = false;
5384      this.element.removeEventListener("mousedown", this._onmousedown, true);
5385
5386      this._endPan();
5387
5388      this.element.classList.remove(this.CSS_CLASS_GRAB);
5389
5390      if (this.onActiveChanged) {
5391        this.onActiveChanged(false);
5392      }
5393    }
5394  },
5395  toggle: function GrabToPan_toggle() {
5396    if (this.active) {
5397      this.deactivate();
5398    } else {
5399      this.activate();
5400    }
5401  },
5402  ignoreTarget: function GrabToPan_ignoreTarget(node) {
5403    return node.matches("a[href], a[href] *, input, textarea, button, button *, select, option");
5404  },
5405  _onmousedown: function GrabToPan__onmousedown(event) {
5406    if (event.button !== 0 || this.ignoreTarget(event.target)) {
5407      return;
5408    }
5409
5410    if (event.originalTarget) {
5411      try {
5412        event.originalTarget.tagName;
5413      } catch (e) {
5414        return;
5415      }
5416    }
5417
5418    this.scrollLeftStart = this.element.scrollLeft;
5419    this.scrollTopStart = this.element.scrollTop;
5420    this.clientXStart = event.clientX;
5421    this.clientYStart = event.clientY;
5422    this.document.addEventListener("mousemove", this._onmousemove, true);
5423    this.document.addEventListener("mouseup", this._endPan, true);
5424    this.element.addEventListener("scroll", this._endPan, true);
5425    event.preventDefault();
5426    event.stopPropagation();
5427    var focusedElement = document.activeElement;
5428
5429    if (focusedElement && !focusedElement.contains(event.target)) {
5430      focusedElement.blur();
5431    }
5432  },
5433  _onmousemove: function GrabToPan__onmousemove(event) {
5434    this.element.removeEventListener("scroll", this._endPan, true);
5435
5436    if (isLeftMouseReleased(event)) {
5437      this._endPan();
5438
5439      return;
5440    }
5441
5442    var xDiff = event.clientX - this.clientXStart;
5443    var yDiff = event.clientY - this.clientYStart;
5444    var scrollTop = this.scrollTopStart - yDiff;
5445    var scrollLeft = this.scrollLeftStart - xDiff;
5446
5447    if (this.element.scrollTo) {
5448      this.element.scrollTo({
5449        top: scrollTop,
5450        left: scrollLeft,
5451        behavior: "instant"
5452      });
5453    } else {
5454      this.element.scrollTop = scrollTop;
5455      this.element.scrollLeft = scrollLeft;
5456    }
5457
5458    if (!this.overlay.parentNode) {
5459      document.body.appendChild(this.overlay);
5460    }
5461  },
5462  _endPan: function GrabToPan__endPan() {
5463    this.element.removeEventListener("scroll", this._endPan, true);
5464    this.document.removeEventListener("mousemove", this._onmousemove, true);
5465    this.document.removeEventListener("mouseup", this._endPan, true);
5466    this.overlay.remove();
5467  }
5468};
5469
5470function isLeftMouseReleased(event) {
5471  if ("buttons" in event) {
5472    return !(event.buttons & 1);
5473  }
5474
5475  var chrome = window.chrome;
5476  var isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app);
5477  var isSafari6plus = /Apple/.test(navigator.vendor) && /Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent);
5478
5479  if (isChrome15OrOpera15plus || isSafari6plus) {
5480    return event.which === 0;
5481  }
5482
5483  return false;
5484}
5485
5486/***/ }),
5487/* 10 */
5488/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5489
5490
5491
5492Object.defineProperty(exports, "__esModule", ({
5493  value: true
5494}));
5495exports.RenderingStates = exports.PDFRenderingQueue = void 0;
5496
5497var _pdfjsLib = __webpack_require__(7);
5498
5499function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5500
5501function _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); } }
5502
5503function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
5504
5505var CLEANUP_TIMEOUT = 30000;
5506var RenderingStates = {
5507  INITIAL: 0,
5508  RUNNING: 1,
5509  PAUSED: 2,
5510  FINISHED: 3
5511};
5512exports.RenderingStates = RenderingStates;
5513
5514var PDFRenderingQueue = /*#__PURE__*/function () {
5515  function PDFRenderingQueue() {
5516    _classCallCheck(this, PDFRenderingQueue);
5517
5518    this.pdfViewer = null;
5519    this.pdfThumbnailViewer = null;
5520    this.onIdle = null;
5521    this.highestPriorityPage = null;
5522    this.idleTimeout = null;
5523    this.printing = false;
5524    this.isThumbnailViewEnabled = false;
5525  }
5526
5527  _createClass(PDFRenderingQueue, [{
5528    key: "setViewer",
5529    value: function setViewer(pdfViewer) {
5530      this.pdfViewer = pdfViewer;
5531    }
5532  }, {
5533    key: "setThumbnailViewer",
5534    value: function setThumbnailViewer(pdfThumbnailViewer) {
5535      this.pdfThumbnailViewer = pdfThumbnailViewer;
5536    }
5537  }, {
5538    key: "isHighestPriority",
5539    value: function isHighestPriority(view) {
5540      return this.highestPriorityPage === view.renderingId;
5541    }
5542  }, {
5543    key: "renderHighestPriority",
5544    value: function renderHighestPriority(currentlyVisiblePages) {
5545      if (this.idleTimeout) {
5546        clearTimeout(this.idleTimeout);
5547        this.idleTimeout = null;
5548      }
5549
5550      if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
5551        return;
5552      }
5553
5554      if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
5555        if (this.pdfThumbnailViewer.forceRendering()) {
5556          return;
5557        }
5558      }
5559
5560      if (this.printing) {
5561        return;
5562      }
5563
5564      if (this.onIdle) {
5565        this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
5566      }
5567    }
5568  }, {
5569    key: "getHighestPriority",
5570    value: function getHighestPriority(visible, views, scrolledDown) {
5571      var visibleViews = visible.views;
5572      var numVisible = visibleViews.length;
5573
5574      if (numVisible === 0) {
5575        return null;
5576      }
5577
5578      for (var i = 0; i < numVisible; ++i) {
5579        var view = visibleViews[i].view;
5580
5581        if (!this.isViewFinished(view)) {
5582          return view;
5583        }
5584      }
5585
5586      if (scrolledDown) {
5587        var nextPageIndex = visible.last.id;
5588
5589        if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
5590          return views[nextPageIndex];
5591        }
5592      } else {
5593        var previousPageIndex = visible.first.id - 2;
5594
5595        if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
5596          return views[previousPageIndex];
5597        }
5598      }
5599
5600      return null;
5601    }
5602  }, {
5603    key: "isViewFinished",
5604    value: function isViewFinished(view) {
5605      return view.renderingState === RenderingStates.FINISHED;
5606    }
5607  }, {
5608    key: "renderView",
5609    value: function renderView(view) {
5610      var _this = this;
5611
5612      switch (view.renderingState) {
5613        case RenderingStates.FINISHED:
5614          return false;
5615
5616        case RenderingStates.PAUSED:
5617          this.highestPriorityPage = view.renderingId;
5618          view.resume();
5619          break;
5620
5621        case RenderingStates.RUNNING:
5622          this.highestPriorityPage = view.renderingId;
5623          break;
5624
5625        case RenderingStates.INITIAL:
5626          this.highestPriorityPage = view.renderingId;
5627          view.draw()["finally"](function () {
5628            _this.renderHighestPriority();
5629          })["catch"](function (reason) {
5630            if (reason instanceof _pdfjsLib.RenderingCancelledException) {
5631              return;
5632            }
5633
5634            console.error("renderView: \"".concat(reason, "\""));
5635          });
5636          break;
5637      }
5638
5639      return true;
5640    }
5641  }]);
5642
5643  return PDFRenderingQueue;
5644}();
5645
5646exports.PDFRenderingQueue = PDFRenderingQueue;
5647
5648/***/ }),
5649/* 11 */
5650/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5651
5652
5653
5654Object.defineProperty(exports, "__esModule", ({
5655  value: true
5656}));
5657exports.OverlayManager = void 0;
5658
5659var _regenerator = _interopRequireDefault(__webpack_require__(4));
5660
5661function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
5662
5663function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
5663y { 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); } }
5664
5665function _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); }); }; }
5666
5667function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5668
5669function _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); } }
5670
5671function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
5672
5673var OverlayManager = /*#__PURE__*/function () {
5674  function OverlayManager() {
5675    _classCallCheck(this, OverlayManager);
5676
5677    this._overlays = {};
5678    this._active = null;
5679    this._keyDownBound = this._keyDown.bind(this);
5680  }
5681
5682  _createClass(OverlayManager, [{
5683    key: "active",
5684    get: function get() {
5685      return this._active;
5686    }
5687  }, {
5688    key: "register",
5689    value: function () {
5690      var _register = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, element) {
5691        var callerCloseMethod,
5692            canForceClose,
5693            container,
5694            _args = arguments;
5695        return _regenerator["default"].wrap(function _callee$(_context) {
5696          while (1) {
5697            switch (_context.prev = _context.next) {
5698              case 0:
5699                callerCloseMethod = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;
5700                canForceClose = _args.length > 3 && _args[3] !== undefined ? _args[3] : false;
5701
5702                if (!(!name || !element || !(container = element.parentNode))) {
5703                  _context.next = 6;
5704                  break;
5705                }
5706
5707                throw new Error("Not enough parameters.");
5708
5709              case 6:
5710                if (!this._overlays[name]) {
5711                  _context.next = 8;
5712                  break;
5713                }
5714
5715                throw new Error("The overlay is already registered.");
5716
5717              case 8:
5718                this._overlays[name] = {
5719                  element: element,
5720                  container: container,
5721                  callerCloseMethod: callerCloseMethod,
5722                  canForceClose: canForceClose
5723                };
5724
5725              case 9:
5726              case "end":
5727                return _context.stop();
5728            }
5729          }
5730        }, _callee, this);
5731      }));
5732
5733      function register(_x, _x2) {
5734        return _register.apply(this, arguments);
5735      }
5736
5737      return register;
5738    }()
5739  }, {
5740    key: "unregister",
5741    value: function () {
5742      var _unregister = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(name) {
5743        return _regenerator["default"].wrap(function _callee2$(_context2) {
5744          while (1) {
5745            switch (_context2.prev = _context2.next) {
5746              case 0:
5747                if (this._overlays[name]) {
5748                  _context2.next = 4;
5749                  break;
5750                }
5751
5752                throw new Error("The overlay does not exist.");
5753
5754              case 4:
5755                if (!(this._active === name)) {
5756                  _context2.next = 6;
5757                  break;
5758                }
5759
5760                throw new Error("The overlay cannot be removed while it is active.");
5761
5762              case 6:
5763                delete this._overlays[name];
5764
5765              case 7:
5766              case "end":
5767                return _context2.stop();
5768            }
5769          }
5770        }, _callee2, this);
5771      }));
5772
5773      function unregister(_x3) {
5774        return _unregister.apply(this, arguments);
5775      }
5776
5777      return unregister;
5778    }()
5779  }, {
5780    key: "open",
5781    value: function () {
5782      var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name) {
5783        return _regenerator["default"].wrap(function _callee3$(_context3) {
5784          while (1) {
5785            switch (_context3.prev = _context3.next) {
5786              case 0:
5787                if (this._overlays[name]) {
5788                  _context3.next = 4;
5789                  break;
5790                }
5791
5792                throw new Error("The overlay does not exist.");
5793
5794              case 4:
5795                if (!this._active) {
5796                  _context3.next = 14;
5797                  break;
5798                }
5799
5800                if (!this._overlays[name].canForceClose) {
5801                  _context3.next = 9;
5802                  break;
5803                }
5804
5805                this._closeThroughCaller();
5806
5807                _context3.next = 14;
5808                break;
5809
5810              case 9:
5811                if (!(this._active === name)) {
5812                  _context3.next = 13;
5813                  break;
5814                }
5815
5816                throw new Error("The overlay is already active.");
5817
5818              case 13:
5819                throw new Error("Another overlay is currently active.");
5820
5821              case 14:
5822                this._active = name;
5823
5824                this._overlays[this._active].element.classList.remove("hidden");
5825
5826                this._overlays[this._active].container.classList.remove("hidden");
5827
5828                window.addEventListener("keydown", this._keyDownBound);
5829
5830              case 18:
5831              case "end":
5832                return _context3.stop();
5833            }
5834          }
5835        }, _callee3, this);
5836      }));
5837
5838      function open(_x4) {
5839        return _open.apply(this, arguments);
5840      }
5841
5842      return open;
5843    }()
5844  }, {
5845    key: "close",
5846    value: function () {
5847      var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name) {
5848        return _regenerator["default"].wrap(function _callee4$(_context4) {
5849          while (1) {
5850            switch (_context4.prev = _context4.next) {
5851              case 0:
5852                if (this._overlays[name]) {
5853                  _context4.next = 4;
5854                  break;
5855                }
5856
5857                throw new Error("The overlay does not exist.");
5858
5859              case 4:
5860                if (this._active) {
5861                  _context4.next = 8;
5862                  break;
5863                }
5864
5865                throw new Error("The overlay is currently not active.");
5866
5867              case 8:
5868                if (!(this._active !== name)) {
5869                  _context4.next = 10;
5870                  break;
5871                }
5872
5873                throw new Error("Another overlay is currently active.");
5874
5875              case 10:
5876                this._overlays[this._active].container.classList.add("hidden");
5877
5878                this._overlays[this._active].element.classList.add("hidden");
5879
5880                this._active = null;
5881                window.removeEventListener("keydown", this._keyDownBound);
5882
5883              case 14:
5884              case "end":
5885                return _context4.stop();
5886            }
5887          }
5888        }, _callee4, this);
5889      }));
5890
5891      function close(_x5) {
5892        return _close.apply(this, arguments);
5893      }
5894
5895      return close;
5896    }()
5897  }, {
5898    key: "_keyDown",
5899    value: function _keyDown(evt) {
5900      if (this._active && evt.keyCode === 27) {
5901        this._closeThroughCaller();
5902
5903        evt.preventDefault();
5904      }
5905    }
5906  }, {
5907    key: "_closeThroughCaller",
5908    value: function _closeThroughCaller() {
5909      if (this._overlays[this._active].callerCloseMethod) {
5910        this._overlays[this._active].callerCloseMethod();
5911      }
5912
5913      if (this._active) {
5914        this.close(this._active);
5915      }
5916    }
5917  }]);
5918
5919  return OverlayManager;
5920}();
5921
5922exports.OverlayManager = OverlayManager;
5923
5924/***/ }),
5925/* 12 */
5926/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5927
5928
5929
5930Object.defineProperty(exports, "__esModule", ({
5931  value: true
5932}));
5933exports.PasswordPrompt = void 0;
5934
5935var _regenerator = _interopRequireDefault(__webpack_require__(4));
5936
5937var _pdfjsLib = __webpack_require__(7);
5938
5939function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
5940
5941function 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); } }
5942
5943function _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); }); }; }
5944
5945function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5946
5947function _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); } }
5948
5949function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
5950
5951var PasswordPrompt = /*#__PURE__*/function () {
5952  function PasswordPrompt(options, overlayManager, l10n) {
5953    var _this = this;
5954
5955    var isViewerEmbedded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
5956
5957    _classCallCheck(this, PasswordPrompt);
5958
5959    this.overlayName = options.overlayName;
5960    this.container = options.container;
5961    this.label = options.label;
5962    this.input = options.input;
5963    this.submitButton = options.submitButton;
5964    this.cancelButton = options.cancelButton;
5965    this.overlayManager = overlayManager;
5966    this.l10n = l10n;
5967    this._isViewerEmbedded = isViewerEmbedded;
5968    this.updateCallback = null;
5969    this.reason = null;
5970    this.submitButton.addEventListener("click", this.verify.bind(this));
5971    this.cancelButton.addEventListener("click", this.close.bind(this));
5972    this.input.addEventListener("keydown", function (e) {
5973      if (e.keyCode === 13) {
5974        _this.verify();
5975      }
5976    });
5977    this.overlayManager.register(this.overlayName, this.container, this.close.bind(this), true);
5978  }
5979
5980  _createClass(PasswordPrompt, [{
5981    key: "open",
5982    value: function () {
5983      var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
5984        var passwordIncorrect;
5985        return _regenerator["default"].wrap(function _callee$(_context) {
5986          while (1) {
5987            switch (_context.prev = _context.next) {
5988              case 0:
5989                _context.next = 2;
5990                return this.overlayManager.open(this.overlayName);
5991
5992              case 2:
5993                passwordIncorrect = this.reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD;
5994
5995                if (!this._isViewerEmbedded || passwordIncorrect) {
5996                  this.input.focus();
5997                }
5998
5999                _context.next = 6;
6000                return this.l10n.get("password_".concat(passwordIncorrect ? "invalid" : "label"));
6001
6002              case 6:
6003                this.label.textContent = _context.sent;
6004
6005              case 7:
6006              case "end":
6007                return _context.stop();
6008            }
6009          }
6010        }, _callee, this);
6011      }));
6012
6013      function open() {
6014        return _open.apply(this, arguments);
6015      }
6016
6017      return open;
6018    }()
6019  }, {
6020    key: "close",
6021    value: function close() {
6022      var _this2 = this;
6023
6024      this.overlayManager.close(this.overlayName).then(function () {
6025        _this2.input.value = "";
6026      });
6027    }
6028  }, {
6029    key: "verify",
6030    value: function verify() {
6031      var password = this.input.value;
6032
6033      if ((password === null || password === void 0 ? void 0 : password.length) > 0) {
6034        this.close();
6035        this.updateCallback(password);
6036      }
6037    }
6038  }, {
6039    key: "setUpdateCallback",
6040    value: function setUpdateCallback(updateCallback, reason) {
6041      this.updateCallback = updateCallback;
6042      this.reason = reason;
6043    }
6044  }]);
6045
6046  return PasswordPrompt;
6047}();
6048
6049exports.PasswordPrompt = PasswordPrompt;
6050
6051/***/ }),
6052/* 13 */
6053/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6054
6055
6056
6057function _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); }
6058
6059Object.defineProperty(exports, "__esModule", ({
6060  value: true
6061}));
6062exports.PDFAttachmentViewer = void 0;
6063
6064var _pdfjsLib = __webpack_require__(7);
6065
6066var _base_tree_viewer = __webpack_require__(14);
6067
6068function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
6069
6070function _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); }
6071
6072function _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; }
6073
6074function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6075
6076function _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); } }
6077
6078function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
6079
6080function _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); }
6081
6082function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
6083
6084function _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, { c
6084onstructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
6085
6086function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
6087
6088function _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); }; }
6089
6090function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
6091
6092function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
6093
6094function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
6095
6096function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
6097
6098var PDFAttachmentViewer = /*#__PURE__*/function (_BaseTreeViewer) {
6099  _inherits(PDFAttachmentViewer, _BaseTreeViewer);
6100
6101  var _super = _createSuper(PDFAttachmentViewer);
6102
6103  function PDFAttachmentViewer(options) {
6104    var _this;
6105
6106    _classCallCheck(this, PDFAttachmentViewer);
6107
6108    _this = _super.call(this, options);
6109    _this.downloadManager = options.downloadManager;
6110
6111    _this.eventBus._on("fileattachmentannotation", _this._appendAttachment.bind(_assertThisInitialized(_this)));
6112
6113    return _this;
6114  }
6115
6116  _createClass(PDFAttachmentViewer, [{
6117    key: "reset",
6118    value: function reset() {
6119      var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
6120
6121      _get(_getPrototypeOf(PDFAttachmentViewer.prototype), "reset", this).call(this);
6122
6123      this._attachments = null;
6124
6125      if (!keepRenderedCapability) {
6126        this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)();
6127      }
6128
6129      if (this._pendingDispatchEvent) {
6130        clearTimeout(this._pendingDispatchEvent);
6131      }
6132
6133      this._pendingDispatchEvent = null;
6134    }
6135  }, {
6136    key: "_dispatchEvent",
6137    value: function _dispatchEvent(attachmentsCount) {
6138      var _this2 = this;
6139
6140      this._renderedCapability.resolve();
6141
6142      if (this._pendingDispatchEvent) {
6143        clearTimeout(this._pendingDispatchEvent);
6144        this._pendingDispatchEvent = null;
6145      }
6146
6147      if (attachmentsCount === 0) {
6148        this._pendingDispatchEvent = setTimeout(function () {
6149          _this2.eventBus.dispatch("attachmentsloaded", {
6150            source: _this2,
6151            attachmentsCount: 0
6152          });
6153
6154          _this2._pendingDispatchEvent = null;
6155        });
6156        return;
6157      }
6158
6159      this.eventBus.dispatch("attachmentsloaded", {
6160        source: this,
6161        attachmentsCount: attachmentsCount
6162      });
6163    }
6164  }, {
6165    key: "_bindLink",
6166    value: function _bindLink(element, _ref) {
6167      var _this3 = this;
6168
6169      var content = _ref.content,
6170          filename = _ref.filename;
6171
6172      element.onclick = function () {
6173        _this3.downloadManager.openOrDownloadData(element, content, filename);
6174
6175        return false;
6176      };
6177    }
6178  }, {
6179    key: "render",
6180    value: function render(_ref2) {
6181      var attachments = _ref2.attachments,
6182          _ref2$keepRenderedCap = _ref2.keepRenderedCapability,
6183          keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap;
6184
6185      if (this._attachments) {
6186        this.reset(keepRenderedCapability);
6187      }
6188
6189      this._attachments = attachments || null;
6190
6191      if (!attachments) {
6192        this._dispatchEvent(0);
6193
6194        return;
6195      }
6196
6197      var names = Object.keys(attachments).sort(function (a, b) {
6198        return a.toLowerCase().localeCompare(b.toLowerCase());
6199      });
6200      var fragment = document.createDocumentFragment();
6201      var attachmentsCount = 0;
6202
6203      var _iterator = _createForOfIteratorHelper(names),
6204          _step;
6205
6206      try {
6207        for (_iterator.s(); !(_step = _iterator.n()).done;) {
6208          var name = _step.value;
6209          var item = attachments[name];
6210          var content = item.content,
6211              filename = (0, _pdfjsLib.getFilenameFromUrl)(item.filename);
6212          var div = document.createElement("div");
6213          div.className = "treeItem";
6214          var element = document.createElement("a");
6215
6216          this._bindLink(element, {
6217            content: content,
6218            filename: filename
6219          });
6220
6221          element.textContent = this._normalizeTextContent(filename);
6222          div.appendChild(element);
6223          fragment.appendChild(div);
6224          attachmentsCount++;
6225        }
6226      } catch (err) {
6227        _iterator.e(err);
6228      } finally {
6229        _iterator.f();
6230      }
6231
6232      this._finishRendering(fragment, attachmentsCount);
6233    }
6234  }, {
6235    key: "_appendAttachment",
6236    value: function _appendAttachment(_ref3) {
6237      var _this4 = this;
6238
6239      var id = _ref3.id,
6240          filename = _ref3.filename,
6241          content = _ref3.content;
6242      var renderedPromise = this._renderedCapability.promise;
6243      renderedPromise.then(function () {
6244        if (renderedPromise !== _this4._renderedCapability.promise) {
6245          return;
6246        }
6247
6248        var attachments = _this4._attachments;
6249
6250        if (!attachments) {
6251          attachments = Object.create(null);
6252        } else {
6253          for (var name in attachments) {
6254            if (id === name) {
6255              return;
6256            }
6257          }
6258        }
6259
6260        attachments[id] = {
6261          filename: filename,
6262          content: content
6263        };
6264
6265        _this4.render({
6266          attachments: attachments,
6267          keepRenderedCapability: true
6268        });
6269      });
6270    }
6271  }]);
6272
6273  return PDFAttachmentViewer;
6274}(_base_tree_viewer.BaseTreeViewer);
6275
6276exports.PDFAttachmentViewer = PDFAttachmentViewer;
6277
6278/***/ }),
6279/* 14 */
6280/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6281
6282
6283
6284Object.defineProperty(exports, "__esModule", ({
6285  value: true
6286}));
6287exports.BaseTreeViewer = void 0;
6288
6289var _pdfjsLib = __webpack_require__(7);
6290
6291function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
6292
6293function _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); }
6294
6295function _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; }
6296
6297function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6298
6299function _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); } }
6300
6301function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
6302
6303var TREEITEM_OFFSET_TOP = -100;
6304var TREEITEM_SELECTED_CLASS = "selected";
6305
6306var BaseTreeViewer = /*#__PURE__*/function () {
6307  function BaseTreeViewer(options) {
6308    _classCallCheck(this, BaseTreeViewer);
6309
6310    if (this.constructor === BaseTreeViewer) {
6311      throw new Error("Cannot initialize BaseTreeViewer.");
6312    }
6313
6314    this.container = options.container;
6315    this.eventBus = options.eventBus;
6316    this.reset();
6317  }
6318
6319  _createClass(BaseTreeViewer, [{
6320    key: "reset",
6321    value: function reset() {
6322      this._pdfDocument = null;
6323      this._lastToggleIsShow = true;
6324      this._currentTreeItem = null;
6325      this.container.textContent = "";
6326      this.container.classList.remove("treeWithDeepNesting");
6327    }
6328  }, {
6329    key: "_dispatchEvent",
6330    value: function _dispatchEvent(count) {
6331      throw new Error("Not implemented: _dispatchEvent");
6332    }
6333  }, {
6334    key: "_bindLink",
6335    value: function _bindLink(element, params) {
6336      throw new Error("Not implemented: _bindLink");
6337    }
6338  }, {
6339    key: "_normalizeTextContent",
6340    value: function _normalizeTextContent(str) {
6341      return (0, _pdfjsLib.removeNullCharacters)(str) || "\u2013";
6342    }
6343  }, {
6344    key: "_addToggleButton",
6345    value: function _addToggleButton(div) {
6346      var _this = this;
6347
6348      var hidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
6349      var toggler = document.createElement("div");
6350      toggler.className = "treeItemToggler";
6351
6352      if (hidden) {
6353        toggler.classList.add("treeItemsHidden");
6354      }
6355
6356      toggler.onclick = function (evt) {
6357        evt.stopPropagation();
6358        toggler.classList.toggle("treeItemsHidden");
6359
6360        if (evt.shiftKey) {
6361          var shouldShowAll = !toggler.classList.contains("treeItemsHidden");
6362
6363          _this._toggleTreeItem(div, shouldShowAll);
6364        }
6365      };
6366
6367      div.insertBefore(toggler, div.firstChild);
6368    }
6369  }, {
6370    key: "_toggleTreeItem",
6371    value: function _toggleTreeItem(root) {
6372      var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
6373      this._lastToggleIsShow = show;
6374
6375      var _iterator = _createForOfIteratorHelper(root.querySelectorAll(".treeItemToggler")),
6376          _step;
6377
6378      try {
6379        for (_iterator.s(); !(_step = _iterator.n()).done;) {
6380          var toggler = _step.value;
6381          toggler.classList.toggle("treeItemsHidden", !show);
6382        }
6383      } catch (err) {
6384        _iterator.e(err);
6385      } finally {
6386        _iterator.f();
6387      }
6388    }
6389  }, {
6390    key: "_toggleAllTreeItems",
6391    value: function _toggleAllTreeItems() {
6392      this._toggleTreeItem(this.container, !this._lastToggleIsShow);
6393    }
6394  }, {
6395    key: "_finishRendering",
6396    value: function _finishRendering(fragment, count) {
6397      var hasAnyNesting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
6398
6399      if (hasAnyNesting) {
6400        this.container.classList.add("treeWithDeepNesting");
6401        this._lastToggleIsShow = !fragment.querySelector(".treeItemsHidden");
6402      }
6403
6404      this.container.appendChild(fragment);
6405
6406      this._dispatchEvent(count);
6407    }
6408  }, {
6409    key: "render",
6410    value: function render(params) {
6411      throw new Error("Not implemented: render");
6412    }
6413  }, {
6414    key: "_updateCurrentTreeItem",
6415    value: function _updateCurrentTreeItem() {
6416      var treeItem = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
6417
6418      if (this._currentTreeItem) {
6419        this._currentTreeItem.classList.remove(TREEITEM_SELECTED_CLASS);
6420
6421        this._currentTreeItem = null;
6422      }
6423
6424      if (treeItem) {
6425        treeItem.classList.add(TREEITEM_SELECTED_CLASS);
6426        this._currentTreeItem = treeItem;
6427      }
6428    }
6429  }, {
6430    key: "_scrollToCurrentTreeItem",
6431    value: function _scrollToCurrentTreeItem(treeItem) {
6432      if (!treeItem) {
6433        return;
6434      }
6435
6436      var currentNode = treeItem.parentNode;
6437
6438      while (currentNode && currentNode !== this.container) {
6439        if (currentNode.classList.contains("treeItem")) {
6440          var toggler = currentNode.firstElementChild;
6441          toggler === null || toggler === void 0 ? void 0 : toggler.classList.remove("treeItemsHidden");
6442        }
6443
6444        currentNode = currentNode.parentNode;
6445      }
6446
6447      this._updateCurrentTreeItem(treeItem);
6448
6449      this.container.scrollTo(treeItem.offsetLeft, treeItem.offsetTop + TREEITEM_OFFSET_TOP);
6450    }
6451  }]);
6452
6453  return BaseTreeViewer;
6454}();
6455
6456exports.BaseTreeViewer = BaseTreeViewer;
6457
6458/***/ }),
6459/* 15 */
6460/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6461
6462
6463
6464Object.defineProperty(exports, "__esModule", ({
6465  value: true
6466}));
6467exports.PDFDocumentProperties = void 0;
6468
6469var _regenerator = _interopRequireDefault(__webpack_require__(4));
6470
6471var _pdfjsLib = __webpack_require__(7);
6472
6473var _ui_utils = __webpack_require__(6);
6474
6475function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6476
6477function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6478
6479function _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."); }
6480
6481function _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); }
6482
6483function _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; }
6484
6485function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
6486
6487function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
6488
6489function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
6489y { 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); } }
6490
6491function _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); }); }; }
6492
6493function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6494
6495function _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); } }
6496
6497function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
6498
6499var DEFAULT_FIELD_CONTENT = "-";
6500var NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
6501var US_PAGE_NAMES = {
6502  "8.5x11": "Letter",
6503  "8.5x14": "Legal"
6504};
6505var METRIC_PAGE_NAMES = {
6506  "297x420": "A3",
6507  "210x297": "A4"
6508};
6509
6510function getPageName(size, isPortrait, pageNames) {
6511  var width = isPortrait ? size.width : size.height;
6512  var height = isPortrait ? size.height : size.width;
6513  return pageNames["".concat(width, "x").concat(height)];
6514}
6515
6516var PDFDocumentProperties = /*#__PURE__*/function () {
6517  function PDFDocumentProperties(_ref, overlayManager, eventBus, l10n) {
6518    var _this = this;
6519
6520    var overlayName = _ref.overlayName,
6521        fields = _ref.fields,
6522        container = _ref.container,
6523        closeButton = _ref.closeButton;
6524
6525    _classCallCheck(this, PDFDocumentProperties);
6526
6527    this.overlayName = overlayName;
6528    this.fields = fields;
6529    this.container = container;
6530    this.overlayManager = overlayManager;
6531    this.l10n = l10n;
6532
6533    this._reset();
6534
6535    closeButton.addEventListener("click", this.close.bind(this));
6536    this.overlayManager.register(this.overlayName, this.container, this.close.bind(this));
6537
6538    eventBus._on("pagechanging", function (evt) {
6539      _this._currentPageNumber = evt.pageNumber;
6540    });
6541
6542    eventBus._on("rotationchanging", function (evt) {
6543      _this._pagesRotation = evt.pagesRotation;
6544    });
6545
6546    this._isNonMetricLocale = true;
6547    l10n.getLanguage().then(function (locale) {
6548      _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
6549    });
6550  }
6551
6552  _createClass(PDFDocumentProperties, [{
6553    key: "open",
6554    value: function () {
6555      var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
6556        var _this2 = this;
6557
6558        var freezeFieldData, currentPageNumber, pagesRotation, _yield$this$pdfDocume, info, contentDispositionFilename, contentLength, _yield$Promise$all, _yield$Promise$all2, fileName, fileSize, creationDate, modificationDate, pageSize, isLinearized, _yield$this$pdfDocume2, length, data;
6559
6560        return _regenerator["default"].wrap(function _callee$(_context) {
6561          while (1) {
6562            switch (_context.prev = _context.next) {
6563              case 0:
6564                freezeFieldData = function freezeFieldData(data) {
6565                  Object.defineProperty(_this2, "fieldData", {
6566                    value: Object.freeze(data),
6567                    writable: false,
6568                    enumerable: true,
6569                    configurable: true
6570                  });
6571                };
6572
6573                _context.next = 3;
6574                return Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]);
6575
6576              case 3:
6577                currentPageNumber = this._currentPageNumber;
6578                pagesRotation = this._pagesRotation;
6579
6580                if (!(this.fieldData && currentPageNumber === this.fieldData._currentPageNumber && pagesRotation === this.fieldData._pagesRotation)) {
6581                  _context.next = 8;
6582                  break;
6583                }
6584
6585                this._updateUI();
6586
6587                return _context.abrupt("return");
6588
6589              case 8:
6590                _context.next = 10;
6591                return this.pdfDocument.getMetadata();
6592
6593              case 10:
6594                _yield$this$pdfDocume = _context.sent;
6595                info = _yield$this$pdfDocume.info;
6596                contentDispositionFilename = _yield$this$pdfDocume.contentDispositionFilename;
6597                contentLength = _yield$this$pdfDocume.contentLength;
6598                _context.next = 16;
6599                return Promise.all([contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url), this._parseFileSize(contentLength), this._parseDate(info.CreationDate), this._parseDate(info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) {
6600                  return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
6601                }), this._parseLinearization(info.IsLinearized)]);
6602
6603              case 16:
6604                _yield$Promise$all = _context.sent;
6605                _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 6);
6606                fileName = _yield$Promise$all2[0];
6607                fileSize = _yield$Promise$all2[1];
6608                creationDate = _yield$Promise$all2[2];
6609                modificationDate = _yield$Promise$all2[3];
6610                pageSize = _yield$Promise$all2[4];
6611                isLinearized = _yield$Promise$all2[5];
6612                freezeFieldData({
6613                  fileName: fileName,
6614                  fileSize: fileSize,
6615                  title: info.Title,
6616                  author: info.Author,
6617                  subject: info.Subject,
6618                  keywords: info.Keywords,
6619                  creationDate: creationDate,
6620                  modificationDate: modificationDate,
6621                  creator: info.Creator,
6622                  producer: info.Producer,
6623                  version: info.PDFFormatVersion,
6624                  pageCount: this.pdfDocument.numPages,
6625                  pageSize: pageSize,
6626                  linearized: isLinearized,
6627                  _currentPageNumber: currentPageNumber,
6628                  _pagesRotation: pagesRotation
6629                });
6630
6631                this._updateUI();
6632
6633                _context.next = 28;
6634                return this.pdfDocument.getDownloadInfo();
6635
6636              case 28:
6637                _yield$this$pdfDocume2 = _context.sent;
6638                length = _yield$this$pdfDocume2.length;
6639
6640                if (!(contentLength === length)) {
6641                  _context.next = 32;
6642                  break;
6643                }
6644
6645                return _context.abrupt("return");
6646
6647              case 32:
6648                data = Object.assign(Object.create(null), this.fieldData);
6649                _context.next = 35;
6650                return this._parseFileSize(length);
6651
6652              case 35:
6653                data.fileSize = _context.sent;
6654                freezeFieldData(data);
6655
6656                this._updateUI();
6657
6658              case 38:
6659              case "end":
6660                return _context.stop();
6661            }
6662          }
6663        }, _callee, this);
6664      }));
6665
6666      function open() {
6667        return _open.apply(this, arguments);
6668      }
6669
6670      return open;
6671    }()
6672  }, {
6673    key: "close",
6674    value: function close() {
6675      this.overlayManager.close(this.overlayName);
6676    }
6677  }, {
6678    key: "setDocument",
6679    value: function setDocument(pdfDocument) {
6680      var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
6681
6682      if (this.pdfDocument) {
6683        this._reset();
6684
6685        this._updateUI(true);
6686      }
6687
6688      if (!pdfDocument) {
6689        return;
6690      }
6691
6692      this.pdfDocument = pdfDocument;
6693      this.url = url;
6694
6695      this._dataAvailableCapability.resolve();
6696    }
6697  }, {
6698    key: "_reset",
6699    value: function _reset() {
6700      this.pdfDocument = null;
6701      this.url = null;
6702      delete this.fieldData;
6703      this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)();
6704      this._currentPageNumber = 1;
6705      this._pagesRotation = 0;
6706    }
6707  }, {
6708    key: "_updateUI",
6709    value: function _updateUI() {
6710      var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
6711
6712      if (reset || !this.fieldData) {
6713        for (var id in this.fields) {
6714          this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
6715        }
6716
6717        return;
6718      }
6719
6720      if (this.overlayManager.active !== this.overlayName) {
6721        return;
6722      }
6723
6724      for (var _id in this.fields) {
6725        var content = this.fieldData[_id];
6726        this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
6727      }
6728    }
6729  }, {
6730    key: "_parseFileSize",
6731    value: function () {
6732      var _parseFileSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
6733        var fileSize,
6734            kb,
6735            mb,
6736            _args2 = arguments;
6737        return _regenerator["default"].wrap(function _callee2$(_context2) {
6738          while (1) {
6739            switch (_context2.prev = _context2.next) {
6740              case 0:
6741                fileSize = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 0;
6742                kb = fileSize / 1024, mb = kb / 1024;
6743
6744                if (kb) {
6745                  _context2.next = 4;
6746                  break;
6747                }
6748
6749                return _context2.abrupt("return", undefined);
6750
6751              case 4:
6752                return _context2.abrupt("return", this.l10n.get("document_properties_".concat(mb >= 1 ? "mb" : "kb"), {
6753                  size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(),
6754                  size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(),
6755                  size_b: fileSize.toLocaleString()
6756                }));
6757
6758              case 5:
6759              case "end":
6760                return _context2.stop();
6761            }
6762          }
6763        }, _callee2, this);
6764      }));
6765
6766      function _parseFileSize() {
6767        return _parseFileSize2.apply(this, arguments);
6768      }
6769
6770      return _parseFileSize;
6771    }()
6772  }, {
6773    key: "_parsePageSize",
6774    value: function () {
6775      var _parsePageSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(pageSizeInches, pagesRotation) {
6776        var isPortrait, sizeInches, sizeMillimeters, rawName, exactMillimeters, intMillimeters, _yield$Promise$all3, _yield$Promise$all4, _yield$Promise$all4$, width, height, unit, name, orientation;
6777
6778        return _regenerator["default"].wrap(function _callee3$(_context3) {
6779          while (1) {
6780            switch (_context3.prev = _context3.next) {
6781              case 0:
6782                if (pageSizeInches) {
6783                  _context3.next = 2;
6784                  break;
6785                }
6786
6787                return _context3.abrupt("return", undefined);
6788
6789              case 2:
6790                if (pagesRotation % 180 !== 0) {
6791                  pageSizeInches = {
6792                    width: pageSizeInches.height,
6793                    height: pageSizeInches.width
6794                  };
6795                }
6796
6797                isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
6798                sizeInches = {
6799                  width: Math.round(pageSizeInches.width * 100) / 100,
6800                  height: Math.round(pageSizeInches.height * 100) / 100
6801                };
6802                sizeMillimeters = {
6803                  width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
6804                  height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
6805                };
6806                rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);
6807
6808                if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
6809                  exactMillimeters = {
6810                    width: pageSizeInches.width * 25.4,
6811                    height: pageSizeInches.height * 25.4
6812                  };
6813                  intMillimeters = {
6814                    width: Math.round(sizeMillimeters.width),
6815                    height: Math.round(sizeMillimeters.height)
6816                  };
6817
6818                  if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
6819                    rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
6820
6821                    if (rawName) {
6822                      sizeInches = {
6823                        width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
6824                        height: Math.round(intMillimeters.height / 25.4 * 100) / 100
6825                      };
6826                      sizeMillimeters = intMillimeters;
6827                    }
6828                  }
6829                }
6830
6831                _context3.next = 10;
6832                return Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get("document_properties_page_size_unit_".concat(this._isNonMetricLocale ? "inches" : "millimeters")), rawName && this.l10n.get("document_properties_page_size_name_".concat(rawName.toLowerCase())), this.l10n.get("document_properties_page_size_orientation_".concat(isPortrait ? "portrait" : "landscape"))]);
6833
6834              case 10:
6835                _yield$Promise$all3 = _context3.sent;
6836                _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 4);
6837                _yield$Promise$all4$ = _yield$Promise$all4[0];
6838                width = _yield$Promise$all4$.width;
6839                height = _yield$Promise$all4$.height;
6840                unit = _yield$Promise$all4[1];
6841                name = _yield$Promise$all4[2];
6842                orientation = _yield$Promise$all4[3];
6843                return _context3.abrupt("return", this.l10n.get("document_properties_page_size_dimension_".concat(name ? "name_" : "", "string"), {
6844                  width: width.toLocaleString(),
6845                  height: height.toLocaleString(),
6846                  unit: unit,
6847                  name: name,
6848                  orientation: orientation
6849                }));
6850
6851              case 19:
6852              case "end":
6853                return _context3.stop();
6854            }
6855          }
6856        }, _callee3, this);
6857      }));
6858
6859      function _parsePageSize(_x, _x2) {
6860        return _parsePageSize2.apply(this, arguments);
6861      }
6862
6863      return _parsePageSize;
6864    }()
6865  }, {
6866    key: "_parseDate",
6867    value: function () {
6868      var _parseDate2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(inputDate) {
6869        var dateObject;
6870        return _regenerator["default"].wrap(function _callee4$(_context4) {
6871          while (1) {
6872            switch (_context4.prev = _context4.next) {
6873              case 0:
6874                dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate);
6875
6876                if (dateObject) {
6877                  _context4.next = 3;
6878                  break;
6879                }
6880
6881                return _context4.abrupt("return", undefined);
6882
6883              case 3:
6884                return _context4.abrupt("return", this.l10n.get("document_properties_date_string", {
6885                  date: dateObject.toLocaleDateString(),
6886                  time: dateObject.toLocaleTimeString()
6887                }));
6888
6889              case 4:
6890              case "end":
6891                return _context4.stop();
6892            }
6893          }
6894        }, _callee4, this);
6895      }));
6896
6897      function _parseDate(_x3) {
6898        return _parseDate2.apply(this, arguments);
6899      }
6900
6901      return _parseDate;
6902    }()
6903  }, {
6904    key: "_parseLinearization",
6905    value: function _parseLinearization(isLinearized) {
6906      return this.l10n.get("document_properties_linearized_".concat(isLinearized ? "yes" : "no"));
6907    }
6908  }]);
6909
6910  return PDFDocumentProperties;
6911}();
6912
6913exports.PDFDocumentProperties = PDFDocumentProperties;
6914
6915/***/ }),
6916/* 16 */
6917/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6918
6919
6920
6921Object.defineProperty(exports, "__esModule", ({
6922  value: true
6923}));
6924exports.PDFFindBar = void 0;
6925
6926var _pdf_find_controller = __webpack_require__(17);
6927
6928function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6929
6930function _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); } }
6931
6932function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
6933
6934var MATCHES_COUNT_LIMIT = 1000;
6935
6936var PDFFindBar = /*#__PURE__*/function () {
6937  function PDFFindBar(options, eventBus, l10n) {
6938    var _this = this;
6939
6940    _classCallCheck(this, PDFFindBar);
6941
6942    this.opened = false;
6943    this.bar = options.bar;
6944    this.toggleButton = options.toggleButton;
6945    this.findField = options.findField;
6946    this.highlightAll = options.highlightAllCheckbox;
6947    this.caseSensitive = options.caseSensitiveCheckbox;
6948    this.entireWord = options.entireWordCheckbox;
6949    this.findMsg = options.findMsg;
6950    this.findResultsCount = options.findResultsCount;
6951    this.findPreviousButton = options.findPreviousButton;
6952    this.findNextButton = options.findNextButton;
6953    this.eventBus = eventBus;
6954    this.l10n = l10n;
6955    this.toggleButton.addEventListener("click", function () {
6956      _this.toggle();
6957    });
6958    this.findField.addEventListener("input", function () {
6959      _this.dispatchEvent("");
6960    });
6961    this.bar.addEventListener("keydown", function (e) {
6962      switch (e.keyCode) {
6963        case 13:
6964          if (e.target === _this.findField) {
6965            _this.dispatchEvent("again", e.shiftKey);
6966          }
6967
6968          break;
6969
6970        case 27:
6971          _this.close();
6972
6973          break;
6974      }
6975    });
6976    this.findPreviousButton.addEventListener("click", function () {
6977      _this.dispatchEvent("again", true);
6978    });
6979    this.findNextButton.addEventListener("click", function () {
6980      _this.dispatchEvent("again", false);
6981    });
6982    this.highlightAll.addEventListener("click", function () {
6983      _this.dispatchEvent("highlightallchange");
6984    });
6985    this.caseSensitive.addEventListener("click", function () {
6986      _this.dispatchEvent("casesensitivitychange");
6987    });
6988    this.entireWord.addEventListener("click", function () {
6989      _this.dispatchEvent("entirewordchange");
6990    });
6991
6992    this.eventBus._on("resize", this._adjustWidth.bind(this));
6993  }
6994
6995  _createClass(PDFFindBar, [{
6996    key: "reset",
6997    value: function reset() {
6998      this.updateUIState();
6999    }
7000  }, {
7001    key: "dispatchEvent",
7002    value: function dispatchEvent(type, findPrev) {
7003      this.eventBus.dispatch("find", {
7004        source: this,
7005        type: type,
7006        query: this.findField.value,
7007        phraseSearch: true,
7008        caseSensitive: this.caseSensitive.checked,
7009        entireWord: this.entireWord.checked,
7010        highlightAll: this.highlightAll.checked,
7011        findPrevious: findPrev
7012      });
7013    }
7014  }, {
7015    key: "updateUIState",
7016    value: function updateUIState(state, previous, matchesCount) {
7017      var _this2 = this;
7018
7019      var findMsg = Promise.resolve("");
7020      var status = "";
7021
7022      switch (state) {
7023        case _pdf_find_controller.FindState.FOUND:
7024          break;
7025
7026        case _pdf_find_controller.FindState.PENDING:
7027          status = "pending";
7028          break;
7029
7030        case _pdf_find_controller.FindState.NOT_FOUND:
7031          findMsg = this.l10n.get("find_not_found");
7032          status = "notFound";
7033          break;
7034
7035        case _pdf_find_controller.FindState.WRAPPED:
7036          findMsg = this.l10n.get("find_reached_".concat(previous ? "top" : "bottom"));
7037          break;
7038      }
7039
7040      this.findField.setAttribute("data-status", status);
7041      findMsg.then(function (msg) {
7042        _this2.findMsg.textContent = msg;
7043
7044        _this2._adjustWidth();
7045      });
7046      this.updateResultsCount(matchesCount);
7047    }
7048  }, {
7049    key: "updateResultsCount",
7050    value: function updateResultsCount() {
7051      var _this3 = this;
7052
7053      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
7054          _ref$current = _ref.current,
7055          current = _ref$current === void 0 ? 0 : _ref$current,
7056          _ref$total = _ref.total,
7057          total = _ref$total === void 0 ? 0 : _ref$total;
7058
7059      var limit = MATCHES_COUNT_LIMIT;
7060      var matchCountMsg = Promise.resolve("");
7061
7062      if (total > 0) {
7063        if (total > limit) {
7064          var key = "find_match_count_limit";
7065          matchCountMsg = this.l10n.get(key, {
7066            limit: limit
7067          });
7068        } else {
7069          var _key = "find_match_count";
7070          matchCountMsg = this.l10n.get(_key, {
7071            current: current,
7072            total: total
7073          });
7074        }
7075      }
7076
7077      matchCountMsg.then(function (msg) {
7078        _this3.findResultsCount.textContent = msg;
7079
7080        _this3.findResultsCount.classList.toggle("hidden", !total);
7081
7082        _this3._adjustWidth();
7083      });
7084    }
7085  }, {
7086    key: "open",
7087    value: function open() {
7088      if (!this.opened) {
7089        this.opened = true;
7090        this.toggleButton.classList.add("toggled");
7091        this.toggleButton.setAttribute("aria-expanded", "true");
7092        this.bar.classList.remove("hidden");
7093      }
7094
7095      this.findField.select();
7096      this.findField.focus();
7097
7098      this._adjustWidth();
7099    }
7100  }, {
7101    key: "close",
7102    value: function close() {
7103      if (!this.opened) {
7104        return;
7105      }
7106
7107      this.opened = false;
7108      this.toggleButton.classList.remove("toggled");
7109      this.toggleButton.setAttribute("aria-expanded", "false");
7110      this.bar.classList.add("hidden");
7111      this.eventBus.dispatch("findbarclose", {
7112        source: this
7113      });
7114    }
7115  }, {
7116    key: "toggle",
7117    value: function toggle() {
7118      if (this.opened) {
7119        this.close();
7120      } else {
7121        this.open();
7122      }
7123    }
7124  }, {
7125    key: "_adjustWidth",
7126    value: function _adjustWidth() {
7127      if (!this.opened) {
7128        return;
7129      }
7130
7131      this.bar.classList.remove("wrapContainers");
7132      var findbarHeight = this.bar.clientHeight;
7133      var inputContainerHeight = this.bar.firstElementChild.clientHeight;
7134
7135      if (findbarHeight > inputContainerHeight) {
7136        this.bar.classList.add("wrapContainers");
7137      }
7138    }
7139  }]);
7140
7141  return PDFFindBar;
7142}();
7143
7144exports.PDFFindBar = PDFFindBar;
7145
7146/***/ }),
7147/* 17 */
7148/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7149
7150
7151
7152Object.defineProperty(exports, "__esModule", ({
7153  value: true
7154}));
7155exports.PDFFindController = exports.FindState = void 0;
7156
7157var _pdfjsLib = __webpack_require__(7);
7158
7159var _pdf_find_utils = __webpack_require__(18);
7160
7161var _ui_utils = __webpack_require__(6);
7162
7163function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7164
7165function _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); } }
7166
7167function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
7168
7169function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
7170
7171function _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."); }
7172
7173function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
7174
7175function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7176
7177function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, 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; } } }; }
7178
7179function _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); }
7180
7181function _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; }
7182
7183var FindState = {
7184  FOUND: 0,
7185  NOT_FOUND: 1,
7186  WRAPPED: 2,
7187  PENDING: 3
7188};
7189exports.FindState = FindState;
7190var FIND_TIMEOUT = 250;
7191var MATCH_SCROLL_OFFSET_TOP = -50;
7192var MATCH_SCROLL_OFFSET_LEFT = -400;
7193var CHARACTERS_TO_NORMALIZE = {
7194  "\u2010": "-",
7195  "\u2018": "'",
7196  "\u2019": "'",
7197  "\u201A": "'",
7198  "\u201B": "'",
7199  "\u201C": '"',
7200  "\u201D": '"',
7201  "\u201E": '"',
7202  "\u201F": '"',
7203  "\xBC": "1/4",
7204  "\xBD": "1/2",
7205  "\xBE": "3/4"
7206};
7207var normalizationRegex = null;
7208
7209function normalize(text) {
7210  if (!normalizationRegex) {
7211    var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join("");
7212    normalizationRegex = new RegExp("[".concat(replace, "]"), "g");
7213  }
7214
7215  var diffs = null;
7216  var normalizedText = text.replace(normalizationRegex, function (ch, index) {
7217    var normalizedCh = CHARACTERS_TO_NORMALIZE[ch],
7218        diff = normalizedCh.length - ch.length;
7219
7220    if (diff !== 0) {
7221      (diffs || (diffs = [])).push([index, diff]);
7222    }
7223
7224    return normalizedCh;
7225  });
7226  return [normalizedText, diffs];
7227}
7228
7229function getOriginalIndex(matchIndex) {
7230  var diffs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
7231
7232  if (!diffs) {
7233    return matchIndex;
7234  }
7235
7236  var totalDiff = 0;
7237
7238  var _iterator = _createForOfIteratorHelper(diffs),
7239      _step;
7240
7241  try {
7242    for (_iterator.s();
7242 !(_step = _iterator.n()).done;) {
7243      var _step$value = _slicedToArray(_step.value, 2),
7244          index = _step$value[0],
7245          diff = _step$value[1];
7246
7247      var currentIndex = index + totalDiff;
7248
7249      if (currentIndex >= matchIndex) {
7250        break;
7251      }
7252
7253      if (currentIndex + diff > matchIndex) {
7254        totalDiff += matchIndex - currentIndex;
7255        break;
7256      }
7257
7258      totalDiff += diff;
7259    }
7260  } catch (err) {
7261    _iterator.e(err);
7262  } finally {
7263    _iterator.f();
7264  }
7265
7266  return matchIndex - totalDiff;
7267}
7268
7269var PDFFindController = /*#__PURE__*/function () {
7270  function PDFFindController(_ref) {
7271    var linkService = _ref.linkService,
7272        eventBus = _ref.eventBus;
7273
7274    _classCallCheck(this, PDFFindController);
7275
7276    this._linkService = linkService;
7277    this._eventBus = eventBus;
7278
7279    this._reset();
7280
7281    eventBus._on("findbarclose", this._onFindBarClose.bind(this));
7282  }
7283
7284  _createClass(PDFFindController, [{
7285    key: "highlightMatches",
7286    get: function get() {
7287      return this._highlightMatches;
7288    }
7289  }, {
7290    key: "pageMatches",
7291    get: function get() {
7292      return this._pageMatches;
7293    }
7294  }, {
7295    key: "pageMatchesLength",
7296    get: function get() {
7297      return this._pageMatchesLength;
7298    }
7299  }, {
7300    key: "selected",
7301    get: function get() {
7302      return this._selected;
7303    }
7304  }, {
7305    key: "state",
7306    get: function get() {
7307      return this._state;
7308    }
7309  }, {
7310    key: "setDocument",
7311    value: function setDocument(pdfDocument) {
7312      if (this._pdfDocument) {
7313        this._reset();
7314      }
7315
7316      if (!pdfDocument) {
7317        return;
7318      }
7319
7320      this._pdfDocument = pdfDocument;
7321
7322      this._firstPageCapability.resolve();
7323    }
7324  }, {
7325    key: "executeCommand",
7326    value: function executeCommand(cmd, state) {
7327      var _this = this;
7328
7329      if (!state) {
7330        return;
7331      }
7332
7333      var pdfDocument = this._pdfDocument;
7334
7335      if (this._state === null || this._shouldDirtyMatch(cmd, state)) {
7336        this._dirtyMatch = true;
7337      }
7338
7339      this._state = state;
7340
7341      if (cmd !== "findhighlightallchange") {
7342        this._updateUIState(FindState.PENDING);
7343      }
7344
7345      this._firstPageCapability.promise.then(function () {
7346        if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {
7347          return;
7348        }
7349
7350        _this._extractText();
7351
7352        var findbarClosed = !_this._highlightMatches;
7353        var pendingTimeout = !!_this._findTimeout;
7354
7355        if (_this._findTimeout) {
7356          clearTimeout(_this._findTimeout);
7357          _this._findTimeout = null;
7358        }
7359
7360        if (cmd === "find") {
7361          _this._findTimeout = setTimeout(function () {
7362            _this._nextMatch();
7363
7364            _this._findTimeout = null;
7365          }, FIND_TIMEOUT);
7366        } else if (_this._dirtyMatch) {
7367          _this._nextMatch();
7368        } else if (cmd === "findagain") {
7369          _this._nextMatch();
7370
7371          if (findbarClosed && _this._state.highlightAll) {
7372            _this._updateAllPages();
7373          }
7374        } else if (cmd === "findhighlightallchange") {
7375          if (pendingTimeout) {
7376            _this._nextMatch();
7377          } else {
7378            _this._highlightMatches = true;
7379          }
7380
7381          _this._updateAllPages();
7382        } else {
7383          _this._nextMatch();
7384        }
7385      });
7386    }
7387  }, {
7388    key: "scrollMatchIntoView",
7389    value: function scrollMatchIntoView(_ref2) {
7390      var _ref2$element = _ref2.element,
7391          element = _ref2$element === void 0 ? null : _ref2$element,
7392          _ref2$selectedLeft = _ref2.selectedLeft,
7393          selectedLeft = _ref2$selectedLeft === void 0 ? 0 : _ref2$selectedLeft,
7394          _ref2$pageIndex = _ref2.pageIndex,
7395          pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,
7396          _ref2$matchIndex = _ref2.matchIndex,
7397          matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;
7398
7399      if (!this._scrollMatches || !element) {
7400        return;
7401      } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {
7402        return;
7403      } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {
7404        return;
7405      }
7406
7407      this._scrollMatches = false;
7408      var spot = {
7409        top: MATCH_SCROLL_OFFSET_TOP,
7410        left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT
7411      };
7412      (0, _ui_utils.scrollIntoView)(element, spot, true);
7413    }
7414  }, {
7415    key: "_reset",
7416    value: function _reset() {
7417      this._highlightMatches = false;
7418      this._scrollMatches = false;
7419      this._pdfDocument = null;
7420      this._pageMatches = [];
7421      this._pageMatchesLength = [];
7422      this._state = null;
7423      this._selected = {
7424        pageIdx: -1,
7425        matchIdx: -1
7426      };
7427      this._offset = {
7428        pageIdx: null,
7429        matchIdx: null,
7430        wrapped: false
7431      };
7432      this._extractTextPromises = [];
7433      this._pageContents = [];
7434      this._pageDiffs = [];
7435      this._matchesCountTotal = 0;
7436      this._pagesToSearch = null;
7437      this._pendingFindMatches = new Set();
7438      this._resumePageIdx = null;
7439      this._dirtyMatch = false;
7440      clearTimeout(this._findTimeout);
7441      this._findTimeout = null;
7442      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
7443    }
7444  }, {
7445    key: "_query",
7446    get: function get() {
7447      if (this._state.query !== this._rawQuery) {
7448        this._rawQuery = this._state.query;
7449
7450        var _normalize = normalize(this._state.query);
7451
7452        var _normalize2 = _slicedToArray(_normalize, 1);
7453
7454        this._normalizedQuery = _normalize2[0];
7455      }
7456
7457      return this._normalizedQuery;
7458    }
7459  }, {
7460    key: "_shouldDirtyMatch",
7461    value: function _shouldDirtyMatch(cmd, state) {
7462      if (state.query !== this._state.query) {
7463        return true;
7464      }
7465
7466      switch (cmd) {
7467        case "findagain":
7468          var pageNumber = this._selected.pageIdx + 1;
7469          var linkService = this._linkService;
7470
7471          if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {
7472            return true;
7473          }
7474
7475          return false;
7476
7477        case "findhighlightallchange":
7478          return false;
7479      }
7480
7481      return true;
7482    }
7483  }, {
7484    key: "_prepareMatches",
7485    value: function _prepareMatches(matchesWithLength, matches, matchesLength) {
7486      function isSubTerm(currentIndex) {
7487        var currentElem = matchesWithLength[currentIndex];
7488        var nextElem = matchesWithLength[currentIndex + 1];
7489
7490        if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {
7491          currentElem.skipped = true;
7492          return true;
7493        }
7494
7495        for (var i = currentIndex - 1; i >= 0; i--) {
7496          var prevElem = matchesWithLength[i];
7497
7498          if (prevElem.skipped) {
7499            continue;
7500          }
7501
7502          if (prevElem.match + prevElem.matchLength < currentElem.match) {
7503            break;
7504          }
7505
7506          if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {
7507            currentElem.skipped = true;
7508            return true;
7509          }
7510        }
7511
7512        return false;
7513      }
7514
7515      matchesWithLength.sort(function (a, b) {
7516        return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;
7517      });
7518
7519      for (var i = 0, len = matchesWithLength.length; i < len; i++) {
7520        if (isSubTerm(i)) {
7521          continue;
7522        }
7523
7524        matches.push(matchesWithLength[i].match);
7525        matchesLength.push(matchesWithLength[i].matchLength);
7526      }
7527    }
7528  }, {
7529    key: "_isEntireWord",
7530    value: function _isEntireWord(content, startIdx, length) {
7531      if (startIdx > 0) {
7532        var first = content.charCodeAt(startIdx);
7533        var limit = content.charCodeAt(startIdx - 1);
7534
7535        if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {
7536          return false;
7537        }
7538      }
7539
7540      var endIdx = startIdx + length - 1;
7541
7542      if (endIdx < content.length - 1) {
7543        var last = content.charCodeAt(endIdx);
7544
7545        var _limit = content.charCodeAt(endIdx + 1);
7546
7547        if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {
7548          return false;
7549        }
7550      }
7551
7552      return true;
7553    }
7554  }, {
7555    key: "_calculatePhraseMatch",
7556    value: function _calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord) {
7557      var matches = [],
7558          matchesLength = [];
7559      var queryLen = query.length;
7560      var matchIdx = -queryLen;
7561
7562      while (true) {
7563        matchIdx = pageContent.indexOf(query, matchIdx + queryLen);
7564
7565        if (matchIdx === -1) {
7566          break;
7567        }
7568
7569        if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {
7570          continue;
7571        }
7572
7573        var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs),
7574            matchEnd = matchIdx + queryLen - 1,
7575            originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1;
7576        matches.push(originalMatchIdx);
7577        matchesLength.push(originalQueryLen);
7578      }
7579
7580      this._pageMatches[pageIndex] = matches;
7581      this._pageMatchesLength[pageIndex] = matchesLength;
7582    }
7583  }, {
7584    key: "_calculateWordMatch",
7585    value: function _calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord) {
7586      var matchesWithLength = [];
7587      var queryArray = query.match(/\S+/g);
7588
7589      for (var i = 0, len = queryArray.length; i < len; i++) {
7590        var subquery = queryArray[i];
7591        var subqueryLen = subquery.length;
7592        var matchIdx = -subqueryLen;
7593
7594        while (true) {
7595          matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);
7596
7597          if (matchIdx === -1) {
7598            break;
7599          }
7600
7601          if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {
7602            continue;
7603          }
7604
7605          var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs),
7606              matchEnd = matchIdx + subqueryLen - 1,
7607              originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1;
7608          matchesWithLength.push({
7609            match: originalMatchIdx,
7610            matchLength: originalQueryLen,
7611            skipped: false
7612          });
7613        }
7614      }
7615
7616      this._pageMatchesLength[pageIndex] = [];
7617      this._pageMatches[pageIndex] = [];
7618
7619      this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);
7620    }
7621  }, {
7622    key: "_calculateMatch",
7623    value: function _calculateMatch(pageIndex) {
7624      var pageContent = this._pageContents[pageIndex];
7625      var pageDiffs = this._pageDiffs[pageIndex];
7626      var query = this._query;
7627      var _this$_state = this._state,
7628          caseSensitive = _this$_state.caseSensitive,
7629          entireWord = _this$_state.entireWord,
7630          phraseSearch = _this$_state.phraseSearch;
7631
7632      if (query.length === 0) {
7633        return;
7634      }
7635
7636      if (!caseSensitive) {
7637        pageContent = pageContent.toLowerCase();
7638        query = query.toLowerCase();
7639      }
7640
7641      if (phraseSearch) {
7642        this._calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord);
7643      } else {
7644        this._calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord);
7645      }
7646
7647      if (this._state.highlightAll) {
7648        this._updatePage(pageIndex);
7649      }
7650
7651      if (this._resumePageIdx === pageIndex) {
7652        this._resumePageIdx = null;
7653
7654        this._nextPageMatch();
7655      }
7656
7657      var pageMatchesCount = this._pageMatches[pageIndex].length;
7658
7659      if (pageMatchesCount > 0) {
7660        this._matchesCountTotal += pageMatchesCount;
7661
7662        this._updateUIResultsCount();
7663      }
7664    }
7665  }, {
7666    key: "_extractText",
7667    value: function _extractText() {
7668      var _this2 = this;
7669
7670      if (this._extractTextPromises.length > 0) {
7671        return;
7672      }
7673
7674      var promise = Promise.resolve();
7675
7676      var _loop = function _loop(i, ii) {
7677        var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();
7678        _this2._extractTextPromises[i] = extractTextCapability.promise;
7679        promise = promise.then(function () {
7680          return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {
7681            return pdfPage.getTextContent({
7682              normalizeWhitespace: true
7683            });
7684          }).then(function (textContent) {
7685            var textItems = textContent.items;
7686            var strBuf = [];
7687
7688            for (var j = 0, jj = textItems.length; j < jj; j++) {
7689              strBuf.push(textItems[j].str);
7690            }
7691
7692            var _normalize3 = normalize(strBuf.join(""));
7693
7694            var _normalize4 = _slicedToArray(_normalize3, 2);
7695
7696            _this2._pageContents[i] = _normalize4[0];
7697            _this2._pageDiffs[i] = _normalize4[1];
7698            extractTextCapability.resolve(i);
7699          }, function (reason) {
7700            console.error("Unable to get text content for page ".concat(i + 1), reason);
7701            _this2._pageContents[i] = "";
7702            _this2._pageDiffs[i] = null;
7703            extractTextCapability.resolve(i);
7704          });
7705        });
7706      };
7707
7708      for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {
7709        _loop(i, ii);
7710      }
7711    }
7712  }, {
7713    key: "_updatePage",
7714    value: function _updatePage(index) {
7715      if (this._scrollMatches && this._selected.pageIdx === index) {
7716        this._linkService.page = index + 1;
7717      }
7718
7719      this._eventBus.dispatch("updatetextlayermatches", {
7720        source: this,
7721        pageIndex: index
7722      });
7723    }
7724  }, {
7725    key: "_updateAllPages",
7726    value: function _updateAllPages() {
7727      this._eventBus.dispatch("updatetextlayermatches", {
7728        source: this,
7729        pageIndex: -1
7730      });
7731    }
7732  }, {
7733    key: "_nextMatch",
7734    value: function _nextMatch() {
7735      var _this3 = this;
7736
7737      var previous = this._state.findPrevious;
7738      var currentPageIndex = this._linkService.page - 1;
7739      var numPages = this._linkService.pagesCount;
7740      this._highlightMatches = true;
7741
7742      if (this._dirtyMatch) {
7743        this._dirtyMatch = false;
7744        this._selected.pageIdx = this._selected.matchIdx = -1;
7745        this._offset.pageIdx = currentPageIndex;
7746        this._offset.matchIdx = null;
7747        this._offset.wrapped = false;
7748        this._resumePageIdx = null;
7749        this._pageMatches.length = 0;
7750        this._pageMatchesLength.length = 0;
7751        this._matchesCountTotal = 0;
7752
7753        this._updateAllPages();
7754
7755        for (var i = 0; i < numPages; i++) {
7756          if (this._pendingFindMatches.has(i)) {
7757            continue;
7758          }
7759
7760          this._pendingFindMatches.add(i);
7761
7762          this._extractTextPromises[i].then(function (pageIdx) {
7763            _this3._pendingFindMatches["delete"](pageIdx);
7764
7765            _this3._calculateMatch(pageIdx);
7766          });
7767        }
7768      }
7769
7770      if (this._query === "") {
7771        this._updateUIState(FindState.FOUND);
7772
7773        return;
7774      }
7775
7776      if (this._resumePageIdx) {
7777        return;
7778      }
7779
7780      var offset = this._offset;
7781      this._pagesToSearch = numPages;
7782
7783      if (offset.matchIdx !== null) {
7784        var numPageMatches = this._pageMatches[offset.pageIdx].length;
7785
7786        if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {
7787          offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;
7788
7789          this._updateMatch(true);
7790
7791          return;
7792        }
7793
7794        this._advanceOffsetPage(previous);
7795      }
7796
7797      this._nextPageMatch();
7798    }
7799  }, {
7800    key: "_matchesReady",
7801    value: function _matchesReady(matches) {
7802      var offset = this._offset;
7803      var numMatches = matches.length;
7804      var previous = this._state.findPrevious;
7805
7806      if (numMatches) {
7807        offset.matchIdx = previous ? numMatches - 1 : 0;
7808
7809        this._updateMatch(true);
7810
7811        return true;
7812      }
7813
7814      this._advanceOffsetPage(previous);
7815
7816      if (offset.wrapped) {
7817        offset.matchIdx = null;
7818
7819        if (this._pagesToSearch < 0) {
7820          this._updateMatch(false);
7821
7822          return true;
7823        }
7824      }
7825
7826      return false;
7827    }
7828  }, {
7829    key: "_nextPageMatch",
7830    value: function _nextPageMatch() {
7831      if (this._resumePageIdx !== null) {
7832        console.error("There can only be one pending page.");
7833      }
7834
7835      var matches = null;
7836
7837      do {
7838        var pageIdx = this._offset.pageIdx;
7839        matches = this._pageMatches[pageIdx];
7840
7841        if (!matches) {
7842          this._resumePageIdx = pageIdx;
7843          break;
7844        }
7845      } while (!this._matchesReady(matches));
7846    }
7847  }, {
7848    key: "_advanceOffsetPage",
7849    value: function _advanceOffsetPage(previous) {
7850      var offset = this._offset;
7851      var numPages = this._linkService.pagesCount;
7852      offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;
7853      offset.matchIdx = null;
7854      this._pagesToSearch--;
7855
7856      if (offset.pageIdx >= numPages || offset.pageIdx < 0) {
7857        offset.pageIdx = previous ? numPages - 1 : 0;
7858        offset.wrapped = true;
7859      }
7860    }
7861  }, {
7862    key: "_updateMatch",
7863    value: function _updateMatch() {
7864      var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
7865      var state = FindState.NOT_FOUND;
7866      var wrapped = this._offset.wrapped;
7867      this._offset.wrapped = false;
7868
7869      if (found) {
7870        var previousPage = this._selected.pageIdx;
7871        this._selected.pageIdx = this._offset.pageIdx;
7872        this._selected.matchIdx = this._offset.matchIdx;
7873        state = wrapped ? FindState.WRAPPED : FindState.FOUND;
7874
7875        if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {
7876          this._updatePage(previousPage);
7877        }
7878      }
7879
7880      this._updateUIState(state, this._state.findPrevious);
7881
7882      if (this._selected.pageIdx !== -1) {
7883        this._scrollMatches = true;
7884
7885        this._updatePage(this._selected.pageIdx);
7886      }
7887    }
7888  }, {
7889    key: "_onFindBarClose",
7890    value: function _onFindBarClose(evt) {
7891      var _this4 = this;
7892
7893      var pdfDocument = this._pdfDocument;
7894
7895      this._firstPageCapability.promise.then(function () {
7896        if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {
7897          return;
7898        }
7899
7900        if (_this4._findTimeout) {
7901          clearTimeout(_this4._findTimeout);
7902          _this4._findTimeout = null;
7903        }
7904
7905        if (_this4._resumePageIdx) {
7906          _this4._resumePageIdx = null;
7907          _this4._dirtyMatch = true;
7908        }
7909
7910        _this4._updateUIState(FindState.FOUND);
7911
7912        _this4._highlightMatches = false;
7913
7914        _this4._updateAllPages();
7915      });
7916    }
7917  }, {
7918    key: "_requestMatchesCount",
7919    value: function _requestMatchesCount() {
7920      var _this$_selected = this._selected,
7921          pageIdx = _this$_selected.pageIdx,
7922          matchIdx = _this$_selected.matchIdx;
7923      var current = 0,
7924          total = this._matchesCountTotal;
7925
7926      if (matchIdx !== -1) {
7927        for (var i = 0; i < pageIdx; i++) {
7928          var _this$_pageMatches$i;
7929
7930          current += ((_this$_pageMatches$i = this._pageMatches[i]) === null || _this$_pageMatches$i === void 0 ? void 0 : _this$_pageMatches$i.length) || 0;
7931        }
7932
7933        current += matchIdx + 1;
7934      }
7935
7936      if (current < 1 || current > total) {
7937        current = total = 0;
7938      }
7939
7940      return {
7941        current: current,
7942        total: total
7943      };
7944    }
7945  }, {
7946    key: "_updateUIResultsCount",
7947    value: function _updateUIResultsCount() {
7948      this._eventBus.dispatch("updatefindmatchescount", {
7949        source: this,
7950        matchesCount: this._requestMatchesCount()
7951      });
7952    }
7953  }, {
7954    key: "_updateUIState",
7955    value: function _updateUIState(state, previous) {
7956      var _this$_state$query, _this$_state2;
7957
7958      this._eventBus.dispatch("updatefindcontrolstate", {
7959        source: this,
7960        state: state,
7961        previous: previous,
7962        matchesCount: this._requestMatchesCount(),
7963        rawQuery: (_this$_state$query = (_this$_state2 = this._state) === null || _this$_state2 === void 0 ? void 0 : _this$_state2.query) !== null && _this$_state$query !== void 0 ? _this$_state$query : null
7964      });
7965    }
7966  }]);
7967
7968  return PDFFindController;
7969}();
7970
7971exports.PDFFindController = PDFFindController;
7972
7973/***/ }),
7974/* 18 */
7975/***/ ((__unused_webpack_module, exports) => {
7976
7977
7978
7979Object.defineProperty(exports, "__esModule", ({
7980  value: true
7981}));
7982exports.getCharacterType = getCharacterType;
7983exports.CharacterType = void 0;
7984var CharacterType = {
7985  SPACE: 0,
7986  ALPHA_LETTER: 1,
7987  PUNCT: 2,
7988  HAN_LETTER: 3,
7989  KATAKANA_LETTER: 4,
7990  HIRAGANA_LETTER: 5,
7991  HALFWIDTH_KATAKANA_LETTER: 6,
7992  THAI_LETTER: 7
7993};
7994exports.CharacterType = CharacterType;
7995
7996function isAlphabeticalScript(charCode) {
7997  return charCode < 0x2e80;
7998}
7999
8000function isAscii(charCode) {
8001  return (charCode & 0xff80) === 0;
8002}
8003
8004function isAsciiAlpha(charCode) {
8005  return charCode >= 0x61 && charCode <= 0x7a || charCode >
8005= 0x41 && charCode <= 0x5a;
8006}
8007
8008function isAsciiDigit(charCode) {
8009  return charCode >= 0x30 && charCode <= 0x39;
8010}
8011
8012function isAsciiSpace(charCode) {
8013  return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;
8014}
8015
8016function isHan(charCode) {
8017  return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;
8018}
8019
8020function isKatakana(charCode) {
8021  return charCode >= 0x30a0 && charCode <= 0x30ff;
8022}
8023
8024function isHiragana(charCode) {
8025  return charCode >= 0x3040 && charCode <= 0x309f;
8026}
8027
8028function isHalfwidthKatakana(charCode) {
8029  return charCode >= 0xff60 && charCode <= 0xff9f;
8030}
8031
8032function isThai(charCode) {
8033  return (charCode & 0xff80) === 0x0e00;
8034}
8035
8036function getCharacterType(charCode) {
8037  if (isAlphabeticalScript(charCode)) {
8038    if (isAscii(charCode)) {
8039      if (isAsciiSpace(charCode)) {
8040        return CharacterType.SPACE;
8041      } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {
8042        return CharacterType.ALPHA_LETTER;
8043      }
8044
8045      return CharacterType.PUNCT;
8046    } else if (isThai(charCode)) {
8047      return CharacterType.THAI_LETTER;
8048    } else if (charCode === 0xa0) {
8049      return CharacterType.SPACE;
8050    }
8051
8052    return CharacterType.ALPHA_LETTER;
8053  }
8054
8055  if (isHan(charCode)) {
8056    return CharacterType.HAN_LETTER;
8057  } else if (isKatakana(charCode)) {
8058    return CharacterType.KATAKANA_LETTER;
8059  } else if (isHiragana(charCode)) {
8060    return CharacterType.HIRAGANA_LETTER;
8061  } else if (isHalfwidthKatakana(charCode)) {
8062    return CharacterType.HALFWIDTH_KATAKANA_LETTER;
8063  }
8064
8065  return CharacterType.ALPHA_LETTER;
8066}
8067
8068/***/ }),
8069/* 19 */
8070/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8071
8072
8073
8074Object.defineProperty(exports, "__esModule", ({
8075  value: true
8076}));
8077exports.isDestArraysEqual = isDestArraysEqual;
8078exports.isDestHashesEqual = isDestHashesEqual;
8079exports.PDFHistory = void 0;
8080
8081var _ui_utils = __webpack_require__(6);
8082
8083function _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); }
8084
8085function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8086
8087function _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."); }
8088
8089function _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); }
8090
8091function _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; }
8092
8093function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
8094
8095function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8096
8097function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8098
8099function _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); } }
8100
8101function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
8102
8103var HASH_CHANGE_TIMEOUT = 1000;
8104var POSITION_UPDATED_THRESHOLD = 50;
8105var UPDATE_VIEWAREA_TIMEOUT = 1000;
8106
8107function getCurrentHash() {
8108  return document.location.hash;
8109}
8110
8111var PDFHistory = /*#__PURE__*/function () {
8112  function PDFHistory(_ref) {
8113    var _this = this;
8114
8115    var linkService = _ref.linkService,
8116        eventBus = _ref.eventBus;
8117
8118    _classCallCheck(this, PDFHistory);
8119
8120    this.linkService = linkService;
8121    this.eventBus = eventBus;
8122    this._initialized = false;
8123    this._fingerprint = "";
8124    this.reset();
8125    this._boundEvents = null;
8126    this._isViewerInPresentationMode = false;
8127
8128    this.eventBus._on("presentationmodechanged", function (evt) {
8129      _this._isViewerInPresentationMode = evt.state !== _ui_utils.PresentationModeState.NORMAL;
8130    });
8131
8132    this.eventBus._on("pagesinit", function () {
8133      _this._isPagesLoaded = false;
8134
8135      _this.eventBus._on("pagesloaded", function (evt) {
8136        _this._isPagesLoaded = !!evt.pagesCount;
8137      }, {
8138        once: true
8139      });
8140    });
8141  }
8142
8143  _createClass(PDFHistory, [{
8144    key: "initialize",
8145    value: function initialize(_ref2) {
8146      var fingerprint = _ref2.fingerprint,
8147          _ref2$resetHistory = _ref2.resetHistory,
8148          resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,
8149          _ref2$updateUrl = _ref2.updateUrl,
8150          updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;
8151
8152      if (!fingerprint || typeof fingerprint !== "string") {
8153        console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');
8154        return;
8155      }
8156
8157      if (this._initialized) {
8158        this.reset();
8159      }
8160
8161      var reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint;
8162      this._fingerprint = fingerprint;
8163      this._updateUrl = updateUrl === true;
8164      this._initialized = true;
8165
8166      this._bindEvents();
8167
8168      var state = window.history.state;
8169      this._popStateInProgress = false;
8170      this._blockHashChange = 0;
8171      this._currentHash = getCurrentHash();
8172      this._numPositionUpdates = 0;
8173      this._uid = this._maxUid = 0;
8174      this._destination = null;
8175      this._position = null;
8176
8177      if (!this._isValidState(state, true) || resetHistory) {
8178        var _this$_parseCurrentHa = this._parseCurrentHash(true),
8179            hash = _this$_parseCurrentHa.hash,
8180            page = _this$_parseCurrentHa.page,
8181            rotation = _this$_parseCurrentHa.rotation;
8182
8183        if (!hash || reInitialized || resetHistory) {
8184          this._pushOrReplaceState(null, true);
8185
8186          return;
8187        }
8188
8189        this._pushOrReplaceState({
8190          hash: hash,
8191          page: page,
8192          rotation: rotation
8193        }, true);
8194
8195        return;
8196      }
8197
8198      var destination = state.destination;
8199
8200      this._updateInternalState(destination, state.uid, true);
8201
8202      if (destination.rotation !== undefined) {
8203        this._initialRotation = destination.rotation;
8204      }
8205
8206      if (destination.dest) {
8207        this._initialBookmark = JSON.stringify(destination.dest);
8208        this._destination.page = null;
8209      } else if (destination.hash) {
8210        this._initialBookmark = destination.hash;
8211      } else if (destination.page) {
8212        this._initialBookmark = "page=".concat(destination.page);
8213      }
8214    }
8215  }, {
8216    key: "reset",
8217    value: function reset() {
8218      if (this._initialized) {
8219        this._pageHide();
8220
8221        this._initialized = false;
8222
8223        this._unbindEvents();
8224      }
8225
8226      if (this._updateViewareaTimeout) {
8227        clearTimeout(this._updateViewareaTimeout);
8228        this._updateViewareaTimeout = null;
8229      }
8230
8231      this._initialBookmark = null;
8232      this._initialRotation = null;
8233    }
8234  }, {
8235    key: "push",
8236    value: function push(_ref3) {
8237      var _this2 = this;
8238
8239      var _ref3$namedDest = _ref3.namedDest,
8240          namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,
8241          explicitDest = _ref3.explicitDest,
8242          pageNumber = _ref3.pageNumber;
8243
8244      if (!this._initialized) {
8245        return;
8246      }
8247
8248      if (namedDest && typeof namedDest !== "string") {
8249        console.error("PDFHistory.push: " + "\"".concat(namedDest, "\" is not a valid namedDest parameter."));
8250        return;
8251      } else if (!Array.isArray(explicitDest)) {
8252        console.error("PDFHistory.push: " + "\"".concat(explicitDest, "\" is not a valid explicitDest parameter."));
8253        return;
8254      } else if (!this._isValidPage(pageNumber)) {
8255        if (pageNumber !== null || this._destination) {
8256          console.error("PDFHistory.push: " + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
8257          return;
8258        }
8259      }
8260
8261      var hash = namedDest || JSON.stringify(explicitDest);
8262
8263      if (!hash) {
8264        return;
8265      }
8266
8267      var forceReplace = false;
8268
8269      if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {
8270        if (this._destination.page) {
8271          return;
8272        }
8273
8274        forceReplace = true;
8275      }
8276
8277      if (this._popStateInProgress && !forceReplace) {
8278        return;
8279      }
8280
8281      this._pushOrReplaceState({
8282        dest: explicitDest,
8283        hash: hash,
8284        page: pageNumber,
8285        rotation: this.linkService.rotation
8286      }, forceReplace);
8287
8288      if (!this._popStateInProgress) {
8289        this._popStateInProgress = true;
8290        Promise.resolve().then(function () {
8291          _this2._popStateInProgress = false;
8292        });
8293      }
8294    }
8295  }, {
8296    key: "pushPage",
8297    value: function pushPage(pageNumber) {
8298      var _this$_destination,
8299          _this3 = this;
8300
8301      if (!this._initialized) {
8302        return;
8303      }
8304
8305      if (!this._isValidPage(pageNumber)) {
8306        console.error("PDFHistory.pushPage: \"".concat(pageNumber, "\" is not a valid page number."));
8307        return;
8308      }
8309
8310      if (((_this$_destination = this._destination) === null || _this$_destination === void 0 ? void 0 : _this$_destination.page) === pageNumber) {
8311        return;
8312      }
8313
8314      if (this._popStateInProgress) {
8315        return;
8316      }
8317
8318      this._pushOrReplaceState({
8319        dest: null,
8320        hash: "page=".concat(pageNumber),
8321        page: pageNumber,
8322        rotation: this.linkService.rotation
8323      });
8324
8325      if (!this._popStateInProgress) {
8326        this._popStateInProgress = true;
8327        Promise.resolve().then(function () {
8328          _this3._popStateInProgress = false;
8329        });
8330      }
8331    }
8332  }, {
8333    key: "pushCurrentPosition",
8334    value: function pushCurrentPosition() {
8335      if (!this._initialized || this._popStateInProgress) {
8336        return;
8337      }
8338
8339      this._tryPushCurrentPosition();
8340    }
8341  }, {
8342    key: "back",
8343    value: function back() {
8344      if (!this._initialized || this._popStateInProgress) {
8345        return;
8346      }
8347
8348      var state = window.history.state;
8349
8350      if (this._isValidState(state) && state.uid > 0) {
8351        window.history.back();
8352      }
8353    }
8354  }, {
8355    key: "forward",
8356    value: function forward() {
8357      if (!this._initialized || this._popStateInProgress) {
8358        return;
8359      }
8360
8361      var state = window.history.state;
8362
8363      if (this._isValidState(state) && state.uid < this._maxUid) {
8364        window.history.forward();
8365      }
8366    }
8367  }, {
8368    key: "popStateInProgress",
8369    get: function get() {
8370      return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);
8371    }
8372  }, {
8373    key: "initialBookmark",
8374    get: function get() {
8375      return this._initialized ? this._initialBookmark : null;
8376    }
8377  }, {
8378    key: "initialRotation",
8379    get: function get() {
8380      return this._initialized ? this._initialRotation : null;
8381    }
8382  }, {
8383    key: "_pushOrReplaceState",
8384    value: function _pushOrReplaceState(destination) {
8385      var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
8386      var shouldReplace = forceReplace || !this._destination;
8387      var newState = {
8388        fingerprint: this._fingerprint,
8389        uid: shouldReplace ? this._uid : this._uid + 1,
8390        destination: destination
8391      };
8392
8393      this._updateInternalState(destination, newState.uid);
8394
8395      var newUrl;
8396
8397      if (this._updateUrl && destination !== null && destination !== void 0 && destination.hash) {
8398        var baseUrl = document.location.href.split("#")[0];
8399
8400        if (!baseUrl.startsWith("file://")) {
8401          newUrl = "".concat(baseUrl, "#").concat(destination.hash);
8402        }
8403      }
8404
8405      if (shouldReplace) {
8406        window.history.replaceState(newState, "", newUrl);
8407      } else {
8408        window.history.pushState(newState, "", newUrl);
8409      }
8410    }
8411  }, {
8412    key: "_tryPushCurrentPosition",
8413    value: function _tryPushCurrentPosition() {
8414      var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
8415
8416      if (!this._position) {
8417        return;
8418      }
8419
8420      var position = this._position;
8421
8422      if (temporary) {
8423        position = Object.assign(Object.create(null), this._position);
8424        position.temporary = true;
8425      }
8426
8427      if (!this._destination) {
8428        this._pushOrReplaceState(position);
8429
8430        return;
8431      }
8432
8433      if (this._destination.temporary) {
8434        this._pushOrReplaceState(position, true);
8435
8436        return;
8437      }
8438
8439      if (this._destination.hash === position.hash) {
8440        return;
8441      }
8442
8443      if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {
8444        return;
8445      }
8446
8447      var forceReplace = false;
8448
8449      if (this._destination.page >= position.first && this._destination.page <= position.page) {
8450        if (this._destination.dest !== undefined || !this._destination.first) {
8451          return;
8452        }
8453
8454        forceReplace = true;
8455      }
8456
8457      this._pushOrReplaceState(position, forceReplace);
8458    }
8459  }, {
8460    key: "_isValidPage",
8461    value: function _isValidPage(val) {
8462      return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;
8463    }
8464  }, {
8465    key: "_isValidState",
8466    value: function _isValidState(state) {
8467      var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
8468
8469      if (!state) {
8470        return false;
8471      }
8472
8473      if (state.fingerprint !== this._fingerprint) {
8474        if (checkReload) {
8475          if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) {
8476            return false;
8477          }
8478
8479          var _performance$getEntri = performance.getEntriesByType("navigation"),
8480              _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),
8481              perfEntry = _performance$getEntri2[0];
8482
8483          if ((perfEntry === null || perfEntry === void 0 ? void 0 : perfEntry.type) !== "reload") {
8484            return false;
8485          }
8486        } else {
8487          return false;
8488        }
8489      }
8490
8491      if (!Number.isInteger(state.uid) || state.uid < 0) {
8492        return false;
8493      }
8494
8495      if (state.destination === null || _typeof(state.destination) !== "object") {
8496        return false;
8497      }
8498
8499      return true;
8500    }
8501  }, {
8502    key: "_updateInternalState",
8503    value: function _updateInternalState(destination, uid) {
8504      var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
8505
8506      if (this._updateViewareaTimeout) {
8507        clearTimeout(this._updateViewareaTimeout);
8508        this._updateViewareaTimeout = null;
8509      }
8510
8511      if (removeTemporary && destination !== null && destination !== void 0 && destination.temporary) {
8512        delete destination.temporary;
8513      }
8514
8515      this._destination = destination;
8516      this._uid = uid;
8517      this._maxUid = Math.max(this._maxUid, uid);
8518      this._numPositionUpdates = 0;
8519    }
8520  }, {
8521    key: "_parseCurrentHash",
8522    value: function _parseCurrentHash() {
8523      var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
8524      var hash = unescape(getCurrentHash()).substring(1);
8525      var params = (0, _ui_utils.parseQueryString)(hash);
8526      var nameddest = params.nameddest || "";
8527      var page = params.page | 0;
8528
8529      if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) {
8530        page = null;
8531      }
8532
8533      return {
8534        hash: hash,
8535        page: page,
8536        rotation: this.linkService.rotation
8537      };
8538    }
8539  }, {
8540    key: "_updateViewarea",
8541    value: function _updateViewarea(_ref4) {
8542      var _this4 = this;
8543
8544      var location = _ref4.location;
8545
8546      if (this._updateViewareaTimeout) {
8547        clearTimeout(this._updateViewareaTimeout);
8548        this._updateViewareaTimeout = null;
8549      }
8550
8551      this._position = {
8552        hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : location.pdfOpenParams.substring(1),
8553        page: this.linkService.page,
8554        first: location.pageNumber,
8555        rotation: location.rotation
8556      };
8557
8558      if (this._popStateInProgress) {
8559        return;
8560      }
8561
8562      if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {
8563        this._numPositionUpdates++;
8564      }
8565
8566      if (UPDATE_VIEWAREA_TIMEOUT > 0) {
8567        this._updateViewareaTimeout = setTimeout(function () {
8568          if (!_this4._popStateInProgress) {
8569            _this4._tryPushCurrentPosition(true);
8570          }
8571
8572          _this4._updateViewareaTimeout = null;
8573        }, UPDATE_VIEWAREA_TIMEOUT);
8574      }
8575    }
8576  }, {
8577    key: "_popState",
8578    value: function _popState(_ref5) {
8579      var _this5 = this;
8580
8581      var state = _ref5.state;
8582      var newHash = getCurrentHash(),
8583          hashChanged = this._currentHash !== newHash;
8584      this._currentHash = newHash;
8585
8586      if (!state) {
8587        this._uid++;
8588
8589        var _this$_parseCurrentHa2 = this._parseCurrentHash(),
8590            hash = _this$_parseCurrentHa2.hash,
8591            page = _this$_parseCurrentHa2.page,
8592            rotation = _this$_parseCurrentHa2.rotation;
8593
8594        this._pushOrReplaceState({
8595          hash: hash,
8596          page: page,
8597          rotation: rotation
8598        }, true);
8599
8600        return;
8601      }
8602
8603      if (!this._isValidState(state)) {
8604        return;
8605      }
8606
8607      this._popStateInProgress = true;
8608
8609      if (hashChanged) {
8610        this._blockHashChange++;
8611        (0, _ui_utils.waitOnEventOrTimeout)({
8612          target: window,
8613          name: "hashchange",
8614          delay: HASH_CHANGE_TIMEOUT
8615        }).then(function () {
8616          _this5._blockHashChange--;
8617        });
8618      }
8619
8620      var destination = state.destination;
8621
8622      this._updateInternalState(destination, state.uid, true);
8623
8624      if ((0, _ui_utils.isValidRotation)(destination.rotation)) {
8625        this.linkService.rotation = destination.rotation;
8626      }
8627
8628      if (destination.dest) {
8629        this.linkService.goToDestination(destination.dest);
8630      } else if (destination.hash) {
8631        this.linkService.setHash(destination.hash);
8632      } else if (destination.page) {
8633        this.linkService.page = destination.page;
8634      }
8635
8636      Promise.resolve().then(function () {
8637        _this5._popStateInProgress = false;
8638      });
8639    }
8640  }, {
8641    key: "_pageHide",
8642    value: function _pageHide() {
8643      if (!this._destination || this._destination.temporary) {
8644        this._tryPushCurrentPosition();
8645      }
8646    }
8647  }, {
8648    key: "_bindEvents",
8649    value: function _bindEvents() {
8650      if (this._boundEvents) {
8651        return;
8652      }
8653
8654      this._boundEvents = {
8655        updateViewarea: this._updateViewarea.bind(this),
8656        popState: this._popState.bind(this),
8657        pageHide: this._pageHide.bind(this)
8658      };
8659
8660      this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea);
8661
8662      window.addEventListener("popstate", this._boundEvents.popState);
8663      window.addEventListener("pagehide", this._boundEvents.pageHide);
8664    }
8665  }, {
8666    key: "_unbindEvents",
8667    value: function _unbindEvents() {
8668      if (!this._boundEvents) {
8669        return;
8670      }
8671
8672      this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea);
8673
8674      window.removeEventListener("popstate", this._boundEvents.popState);
8675      window.removeEventListener("pagehide", this._boundEvents.pageHide);
8676      this._boundEvents = null;
8677    }
8678  }]);
8679
8680  return PDFHistory;
8681}();
8682
8683exports.PDFHistory = PDFHistory;
8684
8685function isDestHashesEqual(destHash, pushHash) {
8686  if (typeof destHash !== "string" || typeof pushHash !== "string") {
8687    return false;
8688  }
8689
8690  if (destHash === pushHash) {
8691    return true;
8692  }
8693
8694  var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),
8695      nameddest = _parseQueryString.nameddest;
8696
8697  if (nameddest === pushHash) {
8698    return true;
8699  }
8700
8701  return false;
8702}
8703
8704function isDestArraysEqual(firstDest, secondDest) {
8705  function isEntryEqual(first, second) {
8706    if (_typeof(first) !== _typeof(second)) {
8707      return false;
8708    }
8709
8710    if (Array.isArray(first) || Array.isArray(second)) {
8711      return false;
8712    }
8713
8714    if (first !== null && _typeof(first) === "object" && second !== null) {
8715      if (Object.keys(first).length !== Object.keys(second).length) {
8716        return false;
8717      }
8718
8719      for (var key in first) {
8720        if (!isEntryEqual(first[key], second[key])) {
8721          return false;
8722        }
8723      }
8724
8725      return true;
8726    }
8727
8728    return first === second || Number.isNaN(first) && Number.isNaN(second);
8729  }
8730
8731  if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {
8732    return false;
8733  }
8734
8735  if (firstDest.length !== secondDest.length) {
8736    return false;
8737  }
8738
8739  for (var i = 0, ii = firstDest.length; i < ii; i++) {
8740    if (!isEntryEqual(firstDest[i], secondDest[i])) {
8741      return false;
8742    }
8743  }
8744
8745  return true;
8746}
8747
8748/***/ }),
8749/* 20 */
8750/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8751
8752
8753
8754Object.defineProperty(exports, "__esModule", ({
8755  value: true
8756}));
8757exports.PDFLayerViewer = void 0;
8758
8759var _regenerator = _interopRequireDefault(__webpack_require__(4));
8760
8761var _base_tree_viewer = __webpack_require__(14);
8762
8763function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8764
8765function _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); }
8766
8767function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
8768
8769function _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); }
8770
8771function _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; }
8772
8773function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
8773y { 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); } }
8774
8775function _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); }); }; }
8776
8777function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8778
8779function _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); } }
8780
8781function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
8782
8783function _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); }
8784
8785function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
8786
8787function _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); }
8788
8789function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
8790
8791function _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); }; }
8792
8793function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
8794
8795function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
8796
8797function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
8798
8799function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
8800
8801var PDFLayerViewer = /*#__PURE__*/function (_BaseTreeViewer) {
8802  _inherits(PDFLayerViewer, _BaseTreeViewer);
8803
8804  var _super = _createSuper(PDFLayerViewer);
8805
8806  function PDFLayerViewer(options) {
8807    var _this;
8808
8809    _classCallCheck(this, PDFLayerViewer);
8810
8811    _this = _super.call(this, options);
8812    _this.l10n = options.l10n;
8813
8814    _this.eventBus._on("resetlayers", _this._resetLayers.bind(_assertThisInitialized(_this)));
8815
8816    _this.eventBus._on("togglelayerstree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this)));
8817
8818    return _this;
8819  }
8820
8821  _createClass(PDFLayerViewer, [{
8822    key: "reset",
8823    value: function reset() {
8824      _get(_getPrototypeOf(PDFLayerViewer.prototype), "reset", this).call(this);
8825
8826      this._optionalContentConfig = null;
8827    }
8828  }, {
8829    key: "_dispatchEvent",
8830    value: function _dispatchEvent(layersCount) {
8831      this.eventBus.dispatch("layersloaded", {
8832        source: this,
8833        layersCount: layersCount
8834      });
8835    }
8836  }, {
8837    key: "_bindLink",
8838    value: function _bindLink(element, _ref) {
8839      var _this2 = this;
8840
8841      var groupId = _ref.groupId,
8842          input = _ref.input;
8843
8844      var setVisibility = function setVisibility() {
8845        _this2._optionalContentConfig.setVisibility(groupId, input.checked);
8846
8847        _this2.eventBus.dispatch("optionalcontentconfig", {
8848          source: _this2,
8849          promise: Promise.resolve(_this2._optionalContentConfig)
8850        });
8851      };
8852
8853      element.onclick = function (evt) {
8854        if (evt.target === input) {
8855          setVisibility();
8856          return true;
8857        } else if (evt.target !== element) {
8858          return true;
8859        }
8860
8861        input.checked = !input.checked;
8862        setVisibility();
8863        return false;
8864      };
8865    }
8866  }, {
8867    key: "_setNestedName",
8868    value: function () {
8869      var _setNestedName2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(element, _ref2) {
8870        var _ref2$name, name;
8871
8872        return _regenerator["default"].wrap(function _callee$(_context) {
8873          while (1) {
8874            switch (_context.prev = _context.next) {
8875              case 0:
8876                _ref2$name = _ref2.name, name = _ref2$name === void 0 ? null : _ref2$name;
8877
8878                if (!(typeof name === "string")) {
8879                  _context.next = 4;
8880                  break;
8881                }
8882
8883                element.textContent = this._normalizeTextContent(name);
8884                return _context.abrupt("return");
8885
8886              case 4:
8887                _context.next = 6;
8888                return this.l10n.get("additional_layers");
8889
8890              case 6:
8891                element.textContent = _context.sent;
8892                element.style.fontStyle = "italic";
8893
8894              case 8:
8895              case "end":
8896                return _context.stop();
8897            }
8898          }
8899        }, _callee, this);
8900      }));
8901
8902      function _setNestedName(_x, _x2) {
8903        return _setNestedName2.apply(this, arguments);
8904      }
8905
8906      return _setNestedName;
8907    }()
8908  }, {
8909    key: "_addToggleButton",
8910    value: function _addToggleButton(div, _ref3) {
8911      var _ref3$name = _ref3.name,
8912          name = _ref3$name === void 0 ? null : _ref3$name;
8913
8914      _get(_getPrototypeOf(PDFLayerViewer.prototype), "_addToggleButton", this).call(this, div, name === null);
8915    }
8916  }, {
8917    key: "_toggleAllTreeItems",
8918    value: function _toggleAllTreeItems() {
8919      if (!this._optionalContentConfig) {
8920        return;
8921      }
8922
8923      _get(_getPrototypeOf(PDFLayerViewer.prototype), "_toggleAllTreeItems", this).call(this);
8924    }
8925  }, {
8926    key: "render",
8927    value: function render(_ref4) {
8928      var optionalContentConfig = _ref4.optionalContentConfig,
8929          pdfDocument = _ref4.pdfDocument;
8930
8931      if (this._optionalContentConfig) {
8932        this.reset();
8933      }
8934
8935      this._optionalContentConfig = optionalContentConfig || null;
8936      this._pdfDocument = pdfDocument || null;
8937      var groups = optionalContentConfig === null || optionalContentConfig === void 0 ? void 0 : optionalContentConfig.getOrder();
8938
8939      if (!groups) {
8940        this._dispatchEvent(0);
8941
8942        return;
8943      }
8944
8945      var fragment = document.createDocumentFragment(),
8946          queue = [{
8947        parent: fragment,
8948        groups: groups
8949      }];
8950      var layersCount = 0,
8951          hasAnyNesting = false;
8952
8953      while (queue.length > 0) {
8954        var levelData = queue.shift();
8955
8956        var _iterator = _createForOfIteratorHelper(levelData.groups),
8957            _step;
8958
8959        try {
8960          for (_iterator.s(); !(_step = _iterator.n()).done;) {
8961            var groupId = _step.value;
8962            var div = document.createElement("div");
8963            div.className = "treeItem";
8964            var element = document.createElement("a");
8965            div.appendChild(element);
8966
8967            if (_typeof(groupId) === "object") {
8968              hasAnyNesting = true;
8969
8970              this._addToggleButton(div, groupId);
8971
8972              this._setNestedName(element, groupId);
8973
8974              var itemsDiv = document.createElement("div");
8975              itemsDiv.className = "treeItems";
8976              div.appendChild(itemsDiv);
8977              queue.push({
8978                parent: itemsDiv,
8979                groups: groupId.order
8980              });
8981            } else {
8982              var group = optionalContentConfig.getGroup(groupId);
8983              var input = document.createElement("input");
8984
8985              this._bindLink(element, {
8986                groupId: groupId,
8987                input: input
8988              });
8989
8990              input.type = "checkbox";
8991              input.id = groupId;
8992              input.checked = group.visible;
8993              var label = document.createElement("label");
8994              label.setAttribute("for", groupId);
8995              label.textContent = this._normalizeTextContent(group.name);
8996              element.appendChild(input);
8997              element.appendChild(label);
8998              layersCount++;
8999            }
9000
9001            levelData.parent.appendChild(div);
9002          }
9003        } catch (err) {
9004          _iterator.e(err);
9005        } finally {
9006          _iterator.f();
9007        }
9008      }
9009
9010      this._finishRendering(fragment, layersCount, hasAnyNesting);
9011    }
9012  }, {
9013    key: "_resetLayers",
9014    value: function () {
9015      var _resetLayers2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
9016        var optionalContentConfig;
9017        return _regenerator["default"].wrap(function _callee2$(_context2) {
9018          while (1) {
9019            switch (_context2.prev = _context2.next) {
9020              case 0:
9021                if (this._optionalContentConfig) {
9022                  _context2.next = 2;
9023                  break;
9024                }
9025
9026                return _context2.abrupt("return");
9027
9028              case 2:
9029                _context2.next = 4;
9030                return this._pdfDocument.getOptionalContentConfig();
9031
9032              case 4:
9033                optionalContentConfig = _context2.sent;
9034                this.eventBus.dispatch("optionalcontentconfig", {
9035                  source: this,
9036                  promise: Promise.resolve(optionalContentConfig)
9037                });
9038                this.render({
9039                  optionalContentConfig: optionalContentConfig,
9040                  pdfDocument: this._pdfDocument
9041                });
9042
9043              case 7:
9044              case "end":
9045                return _context2.stop();
9046            }
9047          }
9048        }, _callee2, this);
9049      }));
9050
9051      function _resetLayers() {
9052        return _resetLayers2.apply(this, arguments);
9053      }
9054
9055      return _resetLayers;
9056    }()
9057  }]);
9058
9059  return PDFLayerViewer;
9060}(_base_tree_viewer.BaseTreeViewer);
9061
9062exports.PDFLayerViewer = PDFLayerViewer;
9063
9064/***/ }),
9065/* 21 */
9066/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9067
9068
9069
9070Object.defineProperty(exports, "__esModule", ({
9071  value: true
9072}));
9073exports.SimpleLinkService = exports.PDFLinkService = void 0;
9074
9075var _regenerator = _interopRequireDefault(__webpack_require__(4));
9076
9077var _ui_utils = __webpack_require__(6);
9078
9079function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9080
9081function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
9081y { 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); } }
9082
9083function _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); }); }; }
9084
9085function _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); }
9086
9087function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9088
9089function _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); } }
9090
9091function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
9092
9093var PDFLinkService = /*#__PURE__*/function () {
9094  function PDFLinkService() {
9095    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
9096        eventBus = _ref.eventBus,
9097        _ref$externalLinkTarg = _ref.externalLinkTarget,
9098        externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,
9099        _ref$externalLinkRel = _ref.externalLinkRel,
9100        externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,
9101        _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,
9102        ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;
9103
9104    _classCallCheck(this, PDFLinkService);
9105
9106    this.eventBus = eventBus;
9107    this.externalLinkTarget = externalLinkTarget;
9108    this.externalLinkRel = externalLinkRel;
9109    this.externalLinkEnabled = true;
9110    this._ignoreDestinationZoom = ignoreDestinationZoom;
9111    this.baseUrl = null;
9112    this.pdfDocument = null;
9113    this.pdfViewer = null;
9114    this.pdfHistory = null;
9115    this._pagesRefCache = null;
9116  }
9117
9118  _createClass(PDFLinkService, [{
9119    key: "setDocument",
9120    value: function setDocument(pdfDocument) {
9121      var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
9122      this.baseUrl = baseUrl;
9123      this.pdfDocument = pdfDocument;
9124      this._pagesRefCache = Object.create(null);
9125    }
9126  }, {
9127    key: "setViewer",
9128    value: function setViewer(pdfViewer) {
9129      this.pdfViewer = pdfViewer;
9130    }
9131  }, {
9132    key: "setHistory",
9133    value: function setHistory(pdfHistory) {
9134      this.pdfHistory = pdfHistory;
9135    }
9136  }, {
9137    key: "pagesCount",
9138    get: function get() {
9139      return this.pdfDocument ? this.pdfDocument.numPages : 0;
9140    }
9141  }, {
9142    key: "page",
9143    get: function get() {
9144      return this.pdfViewer.currentPageNumber;
9145    },
9146    set: function set(value) {
9147      this.pdfViewer.currentPageNumber = value;
9148    }
9149  }, {
9150    key: "rotation",
9151    get: function get() {
9152      return this.pdfViewer.pagesRotation;
9153    },
9154    set: function set(value) {
9155      this.pdfViewer.pagesRotation = value;
9156    }
9157  }, {
9158    key: "_goToDestinationHelper",
9159    value: function _goToDestinationHelper(rawDest) {
9160      var _this = this;
9161
9162      var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
9163      var explicitDest = arguments.length > 2 ? arguments[2] : undefined;
9164      var destRef = explicitDest[0];
9165      var pageNumber;
9166
9167      if (_typeof(destRef) === "object" && destRef !== null) {
9168        pageNumber = this._cachedPageNumber(destRef);
9169
9170        if (pageNumber === null) {
9171          this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
9172            _this.cachePageRef(pageIndex + 1, destRef);
9173
9174            _this._goToDestinationHelper(rawDest, namedDest, explicitDest);
9175          })["catch"](function () {
9176            console.error("PDFLinkService._goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(rawDest, "\"."));
9177          });
9178          return;
9179        }
9180      } else if (Number.isInteger(destRef)) {
9181        pageNumber = destRef + 1;
9182      } else {
9183        console.error("PDFLinkService._goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(rawDest, "\"."));
9184        return;
9185      }
9186
9187      if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {
9188        console.error("PDFLinkService._goToDestinationHelper: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(rawDest, "\"."));
9189        return;
9190      }
9191
9192      if (this.pdfHistory) {
9193        this.pdfHistory.pushCurrentPosition();
9194        this.pdfHistory.push({
9195          namedDest: namedDest,
9196          explicitDest: explicitDest,
9197          pageNumber: pageNumber
9198        });
9199      }
9200
9201      this.pdfViewer.scrollPageIntoView({
9202        pageNumber: pageNumber,
9203        destArray: explicitDest,
9204        ignoreDestinationZoom: this._ignoreDestinationZoom
9205      });
9206    }
9207  }, {
9208    key: "goToDestination",
9209    value: function () {
9210      var _goToDestination = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(dest) {
9211        var namedDest, explicitDest;
9212        return _regenerator["default"].wrap(function _callee$(_context) {
9213          while (1) {
9214            switch (_context.prev = _context.next) {
9215              case 0:
9216                if (this.pdfDocument) {
9217                  _context.next = 2;
9218                  break;
9219                }
9220
9221                return _context.abrupt("return");
9222
9223              case 2:
9224                if (!(typeof dest === "string")) {
9225                  _context.next = 9;
9226                  break;
9227                }
9228
9229                namedDest = dest;
9230                _context.next = 6;
9231                return this.pdfDocument.getDestination(dest);
9232
9233              case 6:
9234                explicitDest = _context.sent;
9235                _context.next = 13;
9236                break;
9237
9238              case 9:
9239                namedDest = null;
9240                _context.next = 12;
9241                return dest;
9242
9243              case 12:
9244                explicitDest = _context.sent;
9245
9246              case 13:
9247                if (Array.isArray(explicitDest)) {
9248                  _context.next = 16;
9249                  break;
9250                }
9251
9252                console.error("PDFLinkService.goToDestination: \"".concat(explicitDest, "\" is not ") + "a valid destination array, for dest=\"".concat(dest, "\"."));
9253                return _context.abrupt("return");
9254
9255              case 16:
9256                this._goToDestinationHelper(dest, namedDest, explicitDest);
9257
9258              case 17:
9259              case "end":
9260                return _context.stop();
9261            }
9262          }
9263        }, _callee, this);
9264      }));
9265
9266      function goToDestination(_x) {
9267        return _goToDestination.apply(this, arguments);
9268      }
9269
9270      return goToDestination;
9271    }()
9272  }, {
9273    key: "goToPage",
9274    value: function goToPage(val) {
9275      if (!this.pdfDocument) {
9276        return;
9277      }
9278
9279      var pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;
9280
9281      if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
9282        console.error("PDFLinkService.goToPage: \"".concat(val, "\" is not a valid page."));
9283        return;
9284      }
9285
9286      if (this.pdfHistory) {
9287        this.pdfHistory.pushCurrentPosition();
9288        this.pdfHistory.pushPage(pageNumber);
9289      }
9290
9291      this.pdfViewer.scrollPageIntoView({
9292        pageNumber: pageNumber
9293      });
9294    }
9295  }, {
9296    key: "getDestinationHash",
9297    value: function getDestinationHash(dest) {
9298      if (typeof dest === "string") {
9299        if (dest.length > 0) {
9300          return this.getAnchorUrl("#" + escape(dest));
9301        }
9302      } else if (Array.isArray(dest)) {
9303        var str = JSON.stringify(dest);
9304
9305        if (str.length > 0) {
9306          return this.getAnchorUrl("#" + escape(str));
9307        }
9308      }
9309
9310      return this.getAnchorUrl("");
9311    }
9312  }, {
9313    key: "getAnchorUrl",
9314    value: function getAnchorUrl(anchor) {
9315      return (this.baseUrl || "") + anchor;
9316    }
9317  }, {
9318    key: "setHash",
9319    value: function setHash(hash) {
9320      if (!this.pdfDocument) {
9321        return;
9322      }
9323
9324      var pageNumber, dest;
9325
9326      if (hash.includes("=")) {
9327        var params = (0, _ui_utils.parseQueryString)(hash);
9328
9329        if ("search" in params) {
9330          this.eventBus.dispatch("findfromurlhash", {
9331            source: this,
9332            query: params.search.replace(/"/g, ""),
9333            phraseSearch: params.phrase === "true"
9334          });
9335        }
9336
9337        if ("page" in params) {
9338          pageNumber = params.page | 0 || 1;
9339        }
9340
9341        if ("zoom" in params) {
9342          var zoomArgs = params.zoom.split(",");
9343          var zoomArg = zoomArgs[0];
9344          var zoomArgNumber = parseFloat(zoomArg);
9345
9346          if (!zoomArg.includes("Fit")) {
9347            dest = [null, {
9348              name: "XYZ"
9349            }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
9350          } else {
9351            if (zoomArg === "Fit" || zoomArg === "FitB") {
9352              dest = [null, {
9353                name: zoomArg
9354              }];
9355            } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
9356              dest = [null, {
9357                name: zoomArg
9358              }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
9359            } else if (zoomArg === "FitR") {
9360              if (zoomArgs.length !== 5) {
9361                console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
9362              } else {
9363                dest = [null, {
9364                  name: zoomArg
9365                }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
9366              }
9367            } else {
9368              console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not ") + "a valid zoom value.");
9369            }
9370          }
9371        }
9372
9373        if (dest) {
9374          this.pdfViewer.scrollPageIntoView({
9375            pageNumber: pageNumber || this.page,
9376            destArray: dest,
9377            allowNegativeOffset: true
9378          });
9379        } else if (pageNumber) {
9380          this.page = pageNumber;
9381        }
9382
9383        if ("pagemode" in params) {
9384          this.eventBus.dispatch("pagemode", {
9385            source: this,
9386            mode: params.pagemode
9387          });
9388        }
9389
9390        if ("nameddest" in params) {
9391          this.goToDestination(params.nameddest);
9392        }
9393      } else {
9394        dest = unescape(hash);
9395
9396        try {
9397          dest = JSON.parse(dest);
9398
9399          if (!Array.isArray(dest)) {
9400            dest = dest.toString();
9401          }
9402        } catch (ex) {}
9403
9404        if (typeof dest === "string" || isValidExplicitDestination(dest)) {
9405          this.goToDestination(dest);
9406          return;
9407        }
9408
9409        console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + "a valid destination.");
9410      }
9411    }
9412  }, {
9413    key: "executeNamedAction",
9414    value: function executeNamedAction(action) {
9415      switch (action) {
9416        case "GoBack":
9417          if (this.pdfHistory) {
9418            this.pdfHistory.back();
9419          }
9420
9421          break;
9422
9423        case "GoForward":
9424          if (this.pdfHistory) {
9425            this.pdfHistory.forward();
9426          }
9427
9428          break;
9429
9430        case "NextPage":
9431          this.pdfViewer.nextPage();
9432          break;
9433
9434        case "PrevPage":
9435          this.pdfViewer.previousPage();
9436          break;
9437
9438        case "LastPage":
9439          this.page = this.pagesCount;
9440          break;
9441
9442        case "FirstPage":
9443          this.page = 1;
9444          break;
9445
9446        default:
9447          break;
9448      }
9449
9450      this.eventBus.dispatch("namedaction", {
9451        source: this,
9452        action: action
9453      });
9454    }
9455  }, {
9456    key: "cachePageRef",
9457    value: function cachePageRef(pageNum, pageRef) {
9458      if (!pageRef) {
9459        return;
9460      }
9461
9462      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
9463      this._pagesRefCache[refStr] = pageNum;
9464    }
9465  }, {
9466    key: "_cachedPageNumber",
9467    value: function _cachedPageNumber(pageRef) {
9468      var _this$_pagesRefCache;
9469
9470      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
9471      return ((_this$_pagesRefCache = this._pagesRefCache) === null || _this$_pagesRefCache === void 0 ? void 0 : _this$_pagesRefCache[refStr]) || null;
9472    }
9473  }, {
9474    key: "isPageVisible",
9475    value: function isPageVisible(pageNumber) {
9476      return this.pdfViewer.isPageVisible(pageNumber);
9477    }
9478  }, {
9479    key: "isPageCached",
9480    value: function isPageCached(pageNumber) {
9481      return this.pdfViewer.isPageCached(pageNumber);
9482    }
9483  }]);
9484
9485  return PDFLinkService;
9486}();
9487
9488exports.PDFLinkService = PDFLinkService;
9489
9490function isValidExplicitDestination(dest) {
9491  if (!Array.isArray(dest)) {
9492    return false;
9493  }
9494
9495  var destLength = dest.length;
9496
9497  if (destLength < 2) {
9498    return false;
9499  }
9500
9501  var page = dest[0];
9502
9503  if (!(_typeof(page) === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
9504    return false;
9505  }
9506
9507  var zoom = dest[1];
9508
9509  if (!(_typeof(zoom) === "object" && typeof zoom.name === "string")) {
9510    return false;
9511  }
9512
9513  var allowNull = true;
9514
9515  switch (zoom.name) {
9516    case "XYZ":
9517      if (destLength !== 5) {
9518        return false;
9519      }
9520
9521      break;
9522
9523    case "Fit":
9524    case "FitB":
9525      return destLength === 2;
9526
9527    case "FitH":
9528    case "FitBH":
9529    case "FitV":
9530    case "FitBV":
9531      if (destLength !== 3) {
9532        return false;
9533      }
9534
9535      break;
9536
9537    case "FitR":
9538      if (destLength !== 6) {
9539        return false;
9540      }
9541
9542      allowNull = false;
9543      break;
9544
9545    default:
9546      return false;
9547  }
9548
9549  for (var i = 2; i < destLength; i++) {
9550    var param = dest[i];
9551
9552    if (!(typeof param === "number" || allowNull && param === null)) {
9553      return false;
9554    }
9555  }
9556
9557  return true;
9558}
9559
9560var SimpleLinkService = /*#__PURE__*/function () {
9561  function SimpleLinkService() {
9562    _classCallCheck(this, SimpleLinkService);
9563
9564    this.externalLinkTarget = null;
9565    this.externalLinkRel = null;
9566    this.externalLinkEnabled = true;
9567    this._ignoreDestinationZoom = false;
vendor: 8,008 bytes, lines 9568-9706
9568  }
9569
9570  _createClass(SimpleLinkService, [{
9571    key: "pagesCount",
9572    get: function get() {
9573      return 0;
9574    }
9575  }, {
9576    key: "page",
9577    get: function get() {
9578      return 0;
9579    },
9580    set: function set(value) {}
9581  }, {
9582    key: "rotation",
9583    get: function get() {
9584      return 0;
9585    },
9586    set: function set(value) {}
9587  }, {
9588    key: "goToDestination",
9589    value: function () {
9590      var _goToDestination2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(dest) {
9591        return _regenerator["default"].wrap(function _callee2$(_context2) {
9592          while (1) {
9593            switch (_context2.prev = _context2.next) {
9594              case 0:
9595              case "end":
9596                return _context2.stop();
9597            }
9598          }
9599        }, _callee2);
9600      }));
9601
9602      function goToDestination(_x2) {
9603        return _goToDestination2.apply(this, arguments);
9604      }
9605
9606      return goToDestination;
9607    }()
9608  }, {
9609    key: "goToPage",
9610    value: function goToPage(val) {}
9611  }, {
9612    key: "getDestinationHash",
9613    value: function getDestinationHash(dest) {
9614      return "#";
9615    }
9616  }, {
9617    key: "getAnchorUrl",
9618    value: function getAnchorUrl(hash) {
9619      return "#";
9620    }
9621  }, {
9622    key: "setHash",
9623    value: function setHash(hash) {}
9624  }, {
9625    key: "executeNamedAction",
9626    value: function executeNamedAction(action) {}
9627  }, {
9628    key: "cachePageRef",
9629    value: function cachePageRef(pageNum, pageRef) {}
9630  }, {
9631    key: "isPageVisible",
9632    value: function isPageVisible(pageNumber) {
9633      return true;
9634    }
9635  }, {
9636    key: "isPageCached",
9637    value: function isPageCached(pageNumber) {
9638      return true;
9639    }
9640  }]);
9641
9642  return SimpleLinkService;
9643}();
9644
9645exports.SimpleLinkService = SimpleLinkService;
9646
9647/***/ }),
9648/* 22 */
9649/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9650
9651
9652
9653Object.defineProperty(exports, "__esModule", ({
9654  value: true
9655}));
9656exports.PDFOutlineViewer = void 0;
9657
9658var _regenerator = _interopRequireDefault(__webpack_require__(4));
9659
9660var _pdfjsLib = __webpack_require__(7);
9661
9662var _base_tree_viewer = __webpack_require__(14);
9663
9664var _ui_utils = __webpack_require__(6);
9665
9666function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9667
9668function _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); }
9669
9670function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9671
9672function _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."); }
9673
9674function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
9675
9676function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9677
9678function 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); } }
9679
9680function _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); }); }; }
9681
9682function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, 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; } } }; }
9683
9684function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9685
9686function _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."); }
9687
9688function _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); }
9689
9690function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
9691
9692function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
9693
9694function _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; }
9695
9696function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9697
9698function _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); } }
9699
9700function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
9701
9702function _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); }
9703
9704function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
9705
9706function _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, { c
9706onstructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
9707
9708function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9709
9710function _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); }; }
9711
9712function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
9713
9714function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9715
9716function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
9717
9718function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9719
9720var PDFOutlineViewer = /*#__PURE__*/function (_BaseTreeViewer) {
9721  _inherits(PDFOutlineViewer, _BaseTreeViewer);
9722
9723  var _super = _createSuper(PDFOutlineViewer);
9724
9725  function PDFOutlineViewer(options) {
9726    var _this;
9727
9728    _classCallCheck(this, PDFOutlineViewer);
9729
9730    _this = _super.call(this, options);
9731    _this.linkService = options.linkService;
9732
9733    _this.eventBus._on("toggleoutlinetree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this)));
9734
9735    _this.eventBus._on("currentoutlineitem", _this._currentOutlineItem.bind(_assertThisInitialized(_this)));
9736
9737    _this.eventBus._on("pagechanging", function (evt) {
9738      _this._currentPageNumber = evt.pageNumber;
9739    });
9740
9741    _this.eventBus._on("pagesloaded", function (evt) {
9742      _this._isPagesLoaded = !!evt.pagesCount;
9743
9744      if (_this._currentOutlineItemCapability && !_this._currentOutlineItemCapability.settled) {
9745        _this._currentOutlineItemCapability.resolve(_this._isPagesLoaded);
9746      }
9747    });
9748
9749    _this.eventBus._on("sidebarviewchanged", function (evt) {
9750      _this._sidebarView = evt.view;
9751    });
9752
9753    return _this;
9754  }
9755
9756  _createClass(PDFOutlineViewer, [{
9757    key: "reset",
9758    value: function reset() {
9759      _get(_getPrototypeOf(PDFOutlineViewer.prototype), "reset", this).call(this);
9760
9761      this._outline = null;
9762      this._pageNumberToDestHashCapability = null;
9763      this._currentPageNumber = 1;
9764      this._isPagesLoaded = false;
9765
9766      if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) {
9767        this._currentOutlineItemCapability.resolve(false);
9768      }
9769
9770      this._currentOutlineItemCapability = null;
9771    }
9772  }, {
9773    key: "_dispatchEvent",
9774    value: function _dispatchEvent(outlineCount) {
9775      var _this$_pdfDocument;
9776
9777      this._currentOutlineItemCapability = (0, _pdfjsLib.createPromiseCapability)();
9778
9779      if (outlineCount === 0 || (_this$_pdfDocument = this._pdfDocument) !== null && _this$_pdfDocument !== void 0 && _this$_pdfDocument.loadingParams.disableAutoFetch) {
9780        this._currentOutlineItemCapability.resolve(false);
9781      } else if (this._isPagesLoaded) {
9782        this._currentOutlineItemCapability.resolve(true);
9783      }
9784
9785      this.eventBus.dispatch("outlineloaded", {
9786        source: this,
9787        outlineCount: outlineCount,
9788        currentOutlineItemPromise: this._currentOutlineItemCapability.promise
9789      });
9790    }
9791  }, {
9792    key: "_bindLink",
9793    value: function _bindLink(element, _ref) {
9794      var _this2 = this;
9795
9796      var url = _ref.url,
9797          newWindow = _ref.newWindow,
9798          dest = _ref.dest;
9799      var linkService = this.linkService;
9800
9801      if (url) {
9802        (0, _pdfjsLib.addLinkAttributes)(element, {
9803          url: url,
9804          target: newWindow ? _pdfjsLib.LinkTarget.BLANK : linkService.externalLinkTarget,
9805          rel: linkService.externalLinkRel,
9806          enabled: linkService.externalLinkEnabled
9807        });
9808        return;
9809      }
9810
9811      element.href = linkService.getDestinationHash(dest);
9812
9813      element.onclick = function (evt) {
9814        _this2._updateCurrentTreeItem(evt.target.parentNode);
9815
9816        if (dest) {
9817          linkService.goToDestination(dest);
9818        }
9819
9820        return false;
9821      };
9822    }
9823  }, {
9824    key: "_setStyles",
9825    value: function _setStyles(element, _ref2) {
9826      var bold = _ref2.bold,
9827          italic = _ref2.italic;
9828
9829      if (bold) {
9830        element.style.fontWeight = "bold";
9831      }
9832
9833      if (italic) {
9834        element.style.fontStyle = "italic";
9835      }
9836    }
9837  }, {
9838    key: "_addToggleButton",
9839    value: function _addToggleButton(div, _ref3) {
9840      var count = _ref3.count,
9841          items = _ref3.items;
9842      var hidden = false;
9843
9844      if (count < 0) {
9845        var totalCount = items.length;
9846
9847        if (totalCount > 0) {
9848          var queue = _toConsumableArray(items);
9849
9850          while (queue.length > 0) {
9851            var _queue$shift = queue.shift(),
9852                nestedCount = _queue$shift.count,
9853                nestedItems = _queue$shift.items;
9854
9855            if (nestedCount > 0 && nestedItems.length > 0) {
9856              totalCount += nestedItems.length;
9857              queue.push.apply(queue, _toConsumableArray(nestedItems));
9858            }
9859          }
9860        }
9861
9862        if (Math.abs(count) === totalCount) {
9863          hidden = true;
9864        }
9865      }
9866
9867      _get(_getPrototypeOf(PDFOutlineViewer.prototype), "_addToggleButton", this).call(this, div, hidden);
9868    }
9869  }, {
9870    key: "_toggleAllTreeItems",
9871    value: function _toggleAllTreeItems() {
9872      if (!this._outline) {
9873        return;
9874      }
9875
9876      _get(_getPrototypeOf(PDFOutlineViewer.prototype), "_toggleAllTreeItems", this).call(this);
9877    }
9878  }, {
9879    key: "render",
9880    value: function render(_ref4) {
9881      var outline = _ref4.outline,
9882          pdfDocument = _ref4.pdfDocument;
9883
9884      if (this._outline) {
9885        this.reset();
9886      }
9887
9888      this._outline = outline || null;
9889      this._pdfDocument = pdfDocument || null;
9890
9891      if (!outline) {
9892        this._dispatchEvent(0);
9893
9894        return;
9895      }
9896
9897      var fragment = document.createDocumentFragment();
9898      var queue = [{
9899        parent: fragment,
9900        items: outline
9901      }];
9902      var outlineCount = 0,
9903          hasAnyNesting = false;
9904
9905      while (queue.length > 0) {
9906        var levelData = queue.shift();
9907
9908        var _iterator = _createForOfIteratorHelper(levelData.items),
9909            _step;
9910
9911        try {
9912          for (_iterator.s(); !(_step = _iterator.n()).done;) {
9913            var item = _step.value;
9914            var div = document.createElement("div");
9915            div.className = "treeItem";
9916            var element = document.createElement("a");
9917
9918            this._bindLink(element, item);
9919
9920            this._setStyles(element, item);
9921
9922            element.textContent = this._normalizeTextContent(item.title);
9923            div.appendChild(element);
9924
9925            if (item.items.length > 0) {
9926              hasAnyNesting = true;
9927
9928              this._addToggleButton(div, item);
9929
9930              var itemsDiv = document.createElement("div");
9931              itemsDiv.className = "treeItems";
9932              div.appendChild(itemsDiv);
9933              queue.push({
9934                parent: itemsDiv,
9935                items: item.items
9936              });
9937            }
9938
9939            levelData.parent.appendChild(div);
9940            outlineCount++;
9941          }
9942        } catch (err) {
9943          _iterator.e(err);
9944        } finally {
9945          _iterator.f();
9946        }
9947      }
9948
9949      this._finishRendering(fragment, outlineCount, hasAnyNesting);
9950    }
9951  }, {
9952    key: "_currentOutlineItem",
9953    value: function () {
9954      var _currentOutlineItem2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
9955        var pageNumberToDestHash, i, destHash, linkElement;
9956        return _regenerator["default"].wrap(function _callee$(_context) {
9957          while (1) {
9958            switch (_context.prev = _context.next) {
9959              case 0:
9960                if (this._isPagesLoaded) {
9961                  _context.next = 2;
9962                  break;
9963                }
9964
9965                throw new Error("_currentOutlineItem: All pages have not been loaded.");
9966
9967              case 2:
9968                if (!(!this._outline || !this._pdfDocument)) {
9969                  _context.next = 4;
9970                  break;
9971                }
9972
9973                return _context.abrupt("return");
9974
9975              case 4:
9976                _context.next = 6;
9977                return this._getPageNumberToDestHash(this._pdfDocument);
9978
9979              case 6:
9980                pageNumberToDestHash = _context.sent;
9981
9982                if (pageNumberToDestHash) {
9983                  _context.next = 9;
9984                  break;
9985                }
9986
9987                return _context.abrupt("return");
9988
9989              case 9:
9990                this._updateCurrentTreeItem(null);
9991
9992                if (!(this._sidebarView !== _ui_utils.SidebarView.OUTLINE)) {
9993                  _context.next = 12;
9994                  break;
9995                }
9996
9997                return _context.abrupt("return");
9998
9999              case 12:
10000                i = this._currentPageNumber;
10001
10002              case 13:
10003                if (!(i > 0)) {
10004                  _context.next = 25;
10005                  break;
10006                }
10007
10008                destHash = pageNumberToDestHash.get(i);
10009
10010                if (destHash) {
10011                  _context.next = 17;
10012                  break;
10013                }
10014
10015                return _context.abrupt("continue", 22);
10016
10017              case 17:
10018                linkElement = this.container.querySelector("a[href=\"".concat(destHash, "\"]"));
10019
10020                if (linkElement) {
10021                  _context.next = 20;
10022                  break;
10023                }
10024
10025                return _context.abrupt("continue", 22);
10026
10027              case 20:
10028                this._scrollToCurrentTreeItem(linkElement.parentNode);
10029
10030                return _context.abrupt("break", 25);
10031
10032              case 22:
10033                i--;
10034                _context.next = 13;
10035                break;
10036
10037              case 25:
10038              case "end":
10039                return _context.stop();
10040            }
10041          }
10042        }, _callee, this);
10043      }));
10044
10045      function _currentOutlineItem() {
10046        return _currentOutlineItem2.apply(this, arguments);
10047      }
10048
10049      return _currentOutlineItem;
10050    }()
10051  }, {
10052    key: "_getPageNumberToDestHash",
10053    value: function () {
10054      var _getPageNumberToDestHash2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) {
10055        var pageNumberToDestHash, pageNumberNesting, queue, levelData, currentNesting, _iterator2, _step2, _step2$value, dest, items, explicitDest, pageNumber, _explicitDest, _explicitDest2, destRef, destHash;
10056
10057        return _regenerator["default"].wrap(function _callee2$(_context2) {
10058          while (1) {
10059            switch (_context2.prev = _context2.next) {
10060              case 0:
10061                if (!this._pageNumberToDestHashCapability) {
10062                  _context2.next = 2;
10063                  break;
10064                }
10065
10066                return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise);
10067
10068              case 2:
10069                this._pageNumberToDestHashCapability = (0, _pdfjsLib.createPromiseCapability)();
10070                pageNumberToDestHash = new Map(), pageNumberNesting = new Map();
10071                queue = [{
10072                  nesting: 0,
10073                  items: this._outline
10074                }];
10075
10076              case 5:
10077                if (!(queue.length > 0)) {
10078                  _context2.next = 56;
10079                  break;
10080                }
10081
10082                levelData = queue.shift(), currentNesting = levelData.nesting;
10083                _iterator2 = _createForOfIteratorHelper(levelData.items);
10084                _context2.prev = 8;
10085
10086                _iterator2.s();
10087
10088              case 10:
10089                if ((_step2 = _iterator2.n()).done) {
10090                  _context2.next = 46;
10091                  break;
10092                }
10093
10094                _step2$value = _step2.value, dest = _step2$value.dest, items = _step2$value.items;
10095                explicitDest = void 0, pageNumber = void 0;
10096
10097                if (!(typeof dest === "string")) {
10098                  _context2.next = 21;
10099                  break;
10100                }
10101
10102                _context2.next = 16;
10103                return pdfDocument.getDestination(dest);
10104
10105              case 16:
10106                explicitDest = _context2.sent;
10107
10108                if (!(pdfDocument !== this._pdfDocument)) {
10109                  _context2.next = 19;
10110                  break;
10111                }
10112
10113                return _context2.abrupt("return", null);
10114
10115              case 19:
10116                _context2.next = 22;
10117                break;
10118
10119              case 21:
10120                explicitDest = dest;
10121
10122              case 22:
10123                if (!Array.isArray(explicitDest)) {
10124                  _context2.next = 43;
10125                  break;
10126                }
10127
10128                _explicitDest = explicitDest, _explicitDest2 = _slicedToArray(_explicitDest, 1), destRef = _explicitDest2[0];
10129
10130                if (!(_typeof(destRef) === "object" && destRef !== null)) {
10131                  _context2.next = 41;
10132                  break;
10133                }
10134
10135                pageNumber = this.linkService._cachedPageNumber(destRef);
10136
10137                if (pageNumber) {
10138                  _context2.next = 39;
10139                  break;
10140                }
10141
10142                _context2.prev = 27;
10143                _context2.next = 30;
10144                return pdfDocument.getPageIndex(destRef);
10145
10146              case 30:
10147                _context2.t0 = _context2.sent;
10148                pageNumber = _context2.t0 + 1;
10149
10150                if (!(pdfDocument !== this._pdfDocument)) {
10151                  _context2.next = 34;
10152                  break;
10153                }
10154
10155                return _context2.abrupt("return", null);
10156
10157              case 34:
10158                this.linkService.cachePageRef(pageNumber, destRef);
10159                _context2.next = 39;
10160                break;
10161
10162              case 37:
10163                _context2.prev = 37;
10164                _context2.t1 = _context2["catch"](27);
10165
10166              case 39:
10167                _context2.next = 42;
10168                break;
10169
10170              case 41:
10171                if (Number.isInteger(destRef)) {
10172                  pageNumber = destRef + 1;
10173                }
10174
10175              case 42:
10176                if (Number.isInteger(pageNumber) && (!pageNumberToDestHash.has(pageNumber) || currentNesting > pageNumberNesting.get(pageNumber))) {
10177                  destHash = this.linkService.getDestinationHash(dest);
10178                  pageNumberToDestHash.set(pageNumber, destHash);
10179                  pageNumberNesting.set(pageNumber, currentNesting);
10180                }
10181
10182              case 43:
10183                if (items.length > 0) {
10184                  queue.push({
10185                    nesting: currentNesting + 1,
10186                    items: items
10187                  });
10188                }
10189
10190              case 44:
10191                _context2.next = 10;
10192                break;
10193
10194              case 46:
10195                _context2.next = 51;
10196                break;
10197
10198              case 48:
10199                _context2.prev = 48;
10200                _context2.t2 = _context2["catch"](8);
10201
10202                _iterator2.e(_context2.t2);
10203
10204              case 51:
10205                _context2.prev = 51;
10206
10207                _iterator2.f();
10208
10209                return _context2.finish(51);
10210
10211              case 54:
10212                _context2.next = 5;
10213                break;
10214
10215              case 56:
10216                this._pageNumberToDestHashCapability.resolve(pageNumberToDestHash.size > 0 ? pageNumberToDestHash : null);
10217
10218                return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise);
10219
10220              case 58:
10221              case "end":
10222                return _context2.stop();
10223            }
10224          }
10225        }, _callee2, this, [[8, 48, 51, 54], [27, 37]]);
10226      }));
10227
10228      function _getPageNumberToDestHash(_x) {
10229        return _getPageNumberToDestHash2.apply(this, arguments);
10230      }
10231
10232      return _getPageNumberToDestHash;
10233    }()
10234  }]);
10235
10236  return PDFOutlineViewer;
10237}(_base_tree_viewer.BaseTreeViewer);
10238
10239exports.PDFOutlineViewer = PDFOutlineViewer;
10240
10241/***/ }),
10242/* 23 */
10243/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10244
10245
10246
10247Object.defineProperty(exports, "__esModule", ({
10248  value: true
10249}));
10250exports.PDFPresentationMode = void 0;
10251
10252var _ui_utils = __webpack_require__(6);
10253
10254function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10255
10256function _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); } }
10257
10258function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
10259
10260var DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500;
10261var DELAY_BEFORE_HIDING_CONTROLS = 3000;
10262var ACTIVE_SELECTOR = "pdfPresentationMode";
10263var CONTROLS_SELECTOR = "pdfPresentationModeControls";
10264var MOUSE_SCROLL_COOLDOWN_TIME = 50;
10265var PAGE_SWITCH_THRESHOLD = 0.1;
10266var SWIPE_MIN_DISTANCE_THRESHOLD = 50;
10267var SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
10268
10269var PDFPresentationMode = /*#__PURE__*/function () {
10270  function PDFPresentationMode(_ref) {
10271    var container = _ref.container,
10272        pdfViewer = _ref.pdfViewer,
10273        eventBus = _ref.eventBus;
10274
10275    _classCallCheck(this, PDFPresentationMode);
10276
10277    this.container = container;
10278    this.pdfViewer = pdfViewer;
10279    this.eventBus = eventBus;
10280    this.active = false;
10281    this.args = null;
10282    this.contextMenuOpen = false;
10283    this.mouseScrollTimeStamp = 0;
10284    this.mouseScrollDelta = 0;
10285    this.touchSwipeState = null;
10286  }
10287
10288  _createClass(PDFPresentationMode, [{
10289    key: "request",
10290    value: function request() {
10291      if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount) {
10292        return false;
10293      }
10294
10295      this._addFullscreenChangeListeners();
10296
10297      this._setSwitchInProgress();
10298
10299      this._notifyStateChange();
10300
10301      if (this.container.requestFullscreen) {
10302        this.container.requestFullscreen();
10303      } else if (this.container.mozRequestFullScreen) {
10304        this.container.mozRequestFullScreen();
10305      } else if (this.container.webkitRequestFullscreen) {
10306        this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
10307      } else {
10308        return false;
10309      }
10310
10311      this.args = {
10312        page: this.pdfViewer.currentPageNumber,
10313        previousScale: this.pdfViewer.currentScaleValue
10314      };
10315      return true;
10316    }
10317  }, {
10318    key: "_mouseWheel",
10319    value: function _mouseWheel(evt) {
10320      if (!this.active) {
10321        return;
10322      }
10323
10324      evt.preventDefault();
10325      var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
10326      var currentTime = Date.now();
10327      var storedTime = this.mouseScrollTimeStamp;
10328
10329      if (currentTime >
10329 storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
10330        return;
10331      }
10332
10333      if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
10334        this._resetMouseScrollState();
10335      }
10336
10337      this.mouseScrollDelta += delta;
10338
10339      if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
10340        var totalDelta = this.mouseScrollDelta;
10341
10342        this._resetMouseScrollState();
10343
10344        var success = totalDelta > 0 ? this.pdfViewer.previousPage() : this.pdfViewer.nextPage();
10345
10346        if (success) {
10347          this.mouseScrollTimeStamp = currentTime;
10348        }
10349      }
10350    }
10351  }, {
10352    key: "isFullscreen",
10353    get: function get() {
10354      return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen);
10355    }
10356  }, {
10357    key: "_notifyStateChange",
10358    value: function _notifyStateChange() {
10359      var state = _ui_utils.PresentationModeState.NORMAL;
10360
10361      if (this.switchInProgress) {
10362        state = _ui_utils.PresentationModeState.CHANGING;
10363      } else if (this.active) {
10364        state = _ui_utils.PresentationModeState.FULLSCREEN;
10365      }
10366
10367      this.eventBus.dispatch("presentationmodechanged", {
10368        source: this,
10369        state: state
10370      });
10371    }
10372  }, {
10373    key: "_setSwitchInProgress",
10374    value: function _setSwitchInProgress() {
10375      var _this = this;
10376
10377      if (this.switchInProgress) {
10378        clearTimeout(this.switchInProgress);
10379      }
10380
10381      this.switchInProgress = setTimeout(function () {
10382        _this._removeFullscreenChangeListeners();
10383
10384        delete _this.switchInProgress;
10385
10386        _this._notifyStateChange();
10387      }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);
10388    }
10389  }, {
10390    key: "_resetSwitchInProgress",
10391    value: function _resetSwitchInProgress() {
10392      if (this.switchInProgress) {
10393        clearTimeout(this.switchInProgress);
10394        delete this.switchInProgress;
10395      }
10396    }
10397  }, {
10398    key: "_enter",
10399    value: function _enter() {
10400      var _this2 = this;
10401
10402      this.active = true;
10403
10404      this._resetSwitchInProgress();
10405
10406      this._notifyStateChange();
10407
10408      this.container.classList.add(ACTIVE_SELECTOR);
10409      setTimeout(function () {
10410        _this2.pdfViewer.currentPageNumber = _this2.args.page;
10411        _this2.pdfViewer.currentScaleValue = "page-fit";
10412      }, 0);
10413
10414      this._addWindowListeners();
10415
10416      this._showControls();
10417
10418      this.contextMenuOpen = false;
10419      window.getSelection().removeAllRanges();
10420    }
10421  }, {
10422    key: "_exit",
10423    value: function _exit() {
10424      var _this3 = this;
10425
10426      var page = this.pdfViewer.currentPageNumber;
10427      this.container.classList.remove(ACTIVE_SELECTOR);
10428      setTimeout(function () {
10429        _this3.active = false;
10430
10431        _this3._removeFullscreenChangeListeners();
10432
10433        _this3._notifyStateChange();
10434
10435        _this3.pdfViewer.currentScaleValue = _this3.args.previousScale;
10436        _this3.pdfViewer.currentPageNumber = page;
10437        _this3.args = null;
10438      }, 0);
10439
10440      this._removeWindowListeners();
10441
10442      this._hideControls();
10443
10444      this._resetMouseScrollState();
10445
10446      this.contextMenuOpen = false;
10447    }
10448  }, {
10449    key: "_mouseDown",
10450    value: function _mouseDown(evt) {
10451      if (this.contextMenuOpen) {
10452        this.contextMenuOpen = false;
10453        evt.preventDefault();
10454        return;
10455      }
10456
10457      if (evt.button === 0) {
10458        var isInternalLink = evt.target.href && evt.target.classList.contains("internalLink");
10459
10460        if (!isInternalLink) {
10461          evt.preventDefault();
10462
10463          if (evt.shiftKey) {
10464            this.pdfViewer.previousPage();
10465          } else {
10466            this.pdfViewer.nextPage();
10467          }
10468        }
10469      }
10470    }
10471  }, {
10472    key: "_contextMenu",
10473    value: function _contextMenu() {
10474      this.contextMenuOpen = true;
10475    }
10476  }, {
10477    key: "_showControls",
10478    value: function _showControls() {
10479      var _this4 = this;
10480
10481      if (this.controlsTimeout) {
10482        clearTimeout(this.controlsTimeout);
10483      } else {
10484        this.container.classList.add(CONTROLS_SELECTOR);
10485      }
10486
10487      this.controlsTimeout = setTimeout(function () {
10488        _this4.container.classList.remove(CONTROLS_SELECTOR);
10489
10490        delete _this4.controlsTimeout;
10491      }, DELAY_BEFORE_HIDING_CONTROLS);
10492    }
10493  }, {
10494    key: "_hideControls",
10495    value: function _hideControls() {
10496      if (!this.controlsTimeout) {
10497        return;
10498      }
10499
10500      clearTimeout(this.controlsTimeout);
10501      this.container.classList.remove(CONTROLS_SELECTOR);
10502      delete this.controlsTimeout;
10503    }
10504  }, {
10505    key: "_resetMouseScrollState",
10506    value: function _resetMouseScrollState() {
10507      this.mouseScrollTimeStamp = 0;
10508      this.mouseScrollDelta = 0;
10509    }
10510  }, {
10511    key: "_touchSwipe",
10512    value: function _touchSwipe(evt) {
10513      if (!this.active) {
10514        return;
10515      }
10516
10517      if (evt.touches.length > 1) {
10518        this.touchSwipeState = null;
10519        return;
10520      }
10521
10522      switch (evt.type) {
10523        case "touchstart":
10524          this.touchSwipeState = {
10525            startX: evt.touches[0].pageX,
10526            startY: evt.touches[0].pageY,
10527            endX: evt.touches[0].pageX,
10528            endY: evt.touches[0].pageY
10529          };
10530          break;
10531
10532        case "touchmove":
10533          if (this.touchSwipeState === null) {
10534            return;
10535          }
10536
10537          this.touchSwipeState.endX = evt.touches[0].pageX;
10538          this.touchSwipeState.endY = evt.touches[0].pageY;
10539          evt.preventDefault();
10540          break;
10541
10542        case "touchend":
10543          if (this.touchSwipeState === null) {
10544            return;
10545          }
10546
10547          var delta = 0;
10548          var dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
10549          var dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
10550          var absAngle = Math.abs(Math.atan2(dy, dx));
10551
10552          if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) {
10553            delta = dx;
10554          } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) {
10555            delta = dy;
10556          }
10557
10558          if (delta > 0) {
10559            this.pdfViewer.previousPage();
10560          } else if (delta < 0) {
10561            this.pdfViewer.nextPage();
10562          }
10563
10564          break;
10565      }
10566    }
10567  }, {
10568    key: "_addWindowListeners",
10569    value: function _addWindowListeners() {
10570      this.showControlsBind = this._showControls.bind(this);
10571      this.mouseDownBind = this._mouseDown.bind(this);
10572      this.mouseWheelBind = this._mouseWheel.bind(this);
10573      this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this);
10574      this.contextMenuBind = this._contextMenu.bind(this);
10575      this.touchSwipeBind = this._touchSwipe.bind(this);
10576      window.addEventListener("mousemove", this.showControlsBind);
10577      window.addEventListener("mousedown", this.mouseDownBind);
10578      window.addEventListener("wheel", this.mouseWheelBind, {
10579        passive: false
10580      });
10581      window.addEventListener("keydown", this.resetMouseScrollStateBind);
10582      window.addEventListener("contextmenu", this.contextMenuBind);
10583      window.addEventListener("touchstart", this.touchSwipeBind);
10584      window.addEventListener("touchmove", this.touchSwipeBind);
10585      window.addEventListener("touchend", this.touchSwipeBind);
10586    }
10587  }, {
10588    key: "_removeWindowListeners",
10589    value: function _removeWindowListeners() {
10590      window.removeEventListener("mousemove", this.showControlsBind);
10591      window.removeEventListener("mousedown", this.mouseDownBind);
10592      window.removeEventListener("wheel", this.mouseWheelBind, {
10593        passive: false
10594      });
10595      window.removeEventListener("keydown", this.resetMouseScrollStateBind);
10596      window.removeEventListener("contextmenu", this.contextMenuBind);
10597      window.removeEventListener("touchstart", this.touchSwipeBind);
10598      window.removeEventListener("touchmove", this.touchSwipeBind);
10599      window.removeEventListener("touchend", this.touchSwipeBind);
10600      delete this.showControlsBind;
10601      delete this.mouseDownBind;
10602      delete this.mouseWheelBind;
10603      delete this.resetMouseScrollStateBind;
10604      delete this.contextMenuBind;
10605      delete this.touchSwipeBind;
10606    }
10607  }, {
10608    key: "_fullscreenChange",
10609    value: function _fullscreenChange() {
10610      if (this.isFullscreen) {
10611        this._enter();
10612      } else {
10613        this._exit();
10614      }
10615    }
10616  }, {
10617    key: "_addFullscreenChangeListeners",
10618    value: function _addFullscreenChangeListeners() {
10619      this.fullscreenChangeBind = this._fullscreenChange.bind(this);
10620      window.addEventListener("fullscreenchange", this.fullscreenChangeBind);
10621      window.addEventListener("mozfullscreenchange", this.fullscreenChangeBind);
10622      window.addEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
10623    }
10624  }, {
10625    key: "_removeFullscreenChangeListeners",
10626    value: function _removeFullscreenChangeListeners() {
10627      window.removeEventListener("fullscreenchange", this.fullscreenChangeBind);
10628      window.removeEventListener("mozfullscreenchange", this.fullscreenChangeBind);
10629      window.removeEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
10630      delete this.fullscreenChangeBind;
10631    }
10632  }]);
10633
10634  return PDFPresentationMode;
10635}();
10636
10637exports.PDFPresentationMode = PDFPresentationMode;
10638
10639/***/ }),
10640/* 24 */
10641/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10642
10643
10644
10645Object.defineProperty(exports, "__esModule", ({
10646  value: true
10647}));
10648exports.PDFScriptingManager = void 0;
10649
10650var _regenerator = _interopRequireDefault(__webpack_require__(4));
10651
10652var _pdfjsLib = __webpack_require__(7);
10653
10654var _ui_utils = __webpack_require__(6);
10655
10656var _pdf_rendering_queue = __webpack_require__(10);
10657
10658function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10659
10660function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10661
10662function _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."); }
10663
10664function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
10665
10666function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
10667
10668function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
10669
10670function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
vendor: 5,125 bytes, lines 10670-10716
10670 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10671
10672function _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; }
10673
10674function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, 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; } } }; }
10675
10676function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10677
10678function _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."); }
10679
10680function _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); }
10681
10682function _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; }
10683
10684function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10685
10686function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10687
10688function 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); } }
10689
10690function _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); }); }; }
10691
10692function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10693
10694function _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); } }
10695
10696function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
10697
10698var PDFScriptingManager = /*#__PURE__*/function () {
10699  function PDFScriptingManager(_ref) {
10700    var eventBus = _ref.eventBus,
10701        _ref$sandboxBundleSrc = _ref.sandboxBundleSrc,
10702        sandboxBundleSrc = _ref$sandboxBundleSrc === void 0 ? null : _ref$sandboxBundleSrc,
10703        _ref$scriptingFactory = _ref.scriptingFactory,
10704        scriptingFactory = _ref$scriptingFactory === void 0 ? null : _ref$scriptingFactory,
10705        _ref$docPropertiesLoo = _ref.docPropertiesLookup,
10706        docPropertiesLookup = _ref$docPropertiesLoo === void 0 ? null : _ref$docPropertiesLoo;
10707
10708    _classCallCheck(this, PDFScriptingManager);
10709
10710    this._pdfDocument = null;
10711    this._pdfViewer = null;
10712    this._closeCapability = null;
10713    this._destroyCapability = null;
10714    this._scripting = null;
10715    this._mouseState = Object.create(null);
10716    this._ready = false;
10717    this._eventBus = eventBus;
10718    this._sandboxBundleSrc = sandboxBundleSrc;
10719    this._scriptingFactory = scriptingFactory;
10720    this._docPropertiesLookup = docPropertiesLookup;
10721  }
10722
10723  _createClass(PDFScriptingManager, [{
10724    key: "setViewer",
10725    value: function setViewer(pdfViewer) {
10726      this._pdfViewer = pdfViewer;
10727    }
10728  }, {
10729    key: "setDocument",
10730    value: function () {
10731      var _setDocument = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) {
10732        var _this = this,
10733            _this$_scripting3;
10734
10735        var _yield$Promise$all, _yield$Promise$all2, objects, calculationOrder, docActions, _iterator, _step, _step$value, name, listener, _iterator2, _step2, _step2$value, _name, _listener, docProperties;
10736
10737        return _regenerator["default"].wrap(function _callee2$(_context2) {
10738          while (1) {
10739            switch (_context2.prev = _context2.next) {
10740              case 0:
10741                if (!this._pdfDocument) {
10742                  _context2.next = 3;
10743                  break;
10744                }
10745
10746                _context2.next = 3;
10747                return this._destroyScripting();
10748
10749              case 3:
10750                this._pdfDocument = pdfDocument;
10751
10752                if (pdfDocument) {
10753                  _context2.next = 6;
10754                  break;
10755                }
10756
10757                return _context2.abrupt("return");
10758
10759              case 6:
10760                _context2.next = 8;
10761                return Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);
10762
10763              case 8:
10764                _yield$Promise$all = _context2.sent;
10765                _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
10766                objects = _yield$Promise$all2[0];
10767                calculationOrder = _yield$Promise$all2[1];
10768                docActions = _yield$Promise$all2[2];
10769
10770                if (!(!objects && !docActions)) {
10771                  _context2.next = 17;
10772                  break;
10773                }
10774
10775                _context2.next = 16;
10776                return this._destroyScripting();
10777
10778              case 16:
10779                return _context2.abrupt("return");
10780
10781              case 17:
10782                if (!(pdfDocument !== this._pdfDocument)) {
10783                  _context2.next = 19;
10784                  break;
10785                }
10786
10787                return _context2.abrupt("return");
10788
10789              case 19:
10790                _context2.prev = 19;
10791                this._scripting = this._createScripting();
10792                _context2.next = 29;
10793                break;
10794
10795              case 23:
10796                _context2.prev = 23;
10797                _context2.t0 = _context2["catch"](19);
10798                console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message, "\"."));
10799                _context2.next = 28;
10800                return this._destroyScripting();
10801
10802              case 28:
10803                return _context2.abrupt("return");
10804
10805              case 29:
10806                this._internalEvents.set("updatefromsandbox", function (event) {
10807                  if ((event === null || event === void 0 ? void 0 : event.source) !== window) {
10808                    return;
10809                  }
10810
10811                  _this._updateFromSandbox(event.detail);
10812                });
10813
10814                this._internalEvents.set("dispatcheventinsandbox", function (event) {
10815                  var _this$_scripting;
10816
10817                  (_this$_scripting = _this._scripting) === null || _this$_scripting === void 0 ? void 0 : _this$_scripting.dispatchEventInSandbox(event.detail);
10818                });
10819
10820                this._internalEvents.set("pagechanging", function (_ref2) {
10821                  var pageNumber = _ref2.pageNumber,
10822                      previous = _ref2.previous;
10823
10824                  if (pageNumber === previous) {
10825                    return;
10826                  }
10827
10828                  _this._dispatchPageClose(previous);
10829
10830                  _this._dispatchPageOpen(pageNumber);
10831                });
10832
10833                this._internalEvents.set("pagerendered", function (_ref3) {
10834                  var pageNumber = _ref3.pageNumber;
10835
10836                  if (!_this._pageOpenPending.has(pageNumber)) {
10837                    return;
10838                  }
10839
10840                  if (pageNumber !== _this._pdfViewer.currentPageNumber) {
10841                    return;
10842                  }
10843
10844                  _this._dispatchPageOpen(pageNumber);
10845                });
10846
10847                this._internalEvents.set("pagesdestroy", /*#__PURE__*/function () {
10848                  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) {
10849                    var _this$_scripting2, _this$_closeCapabilit;
10850
10851                    return _regenerator["default"].wrap(function _callee$(_context) {
10852                      while (1) {
10853                        switch (_context.prev = _context.next) {
10854                          case 0:
10855                            _context.next = 2;
10856                            return _this._dispatchPageClose(_this._pdfViewer.currentPageNumber);
10857
10858                          case 2:
10859                            _context.next = 4;
10860                            return (_this$_scripting2 = _this._scripting) === null || _this$_scripting2 === void 0 ? void 0 : _this$_scripting2.dispatchEventInSandbox({
10861                              id: "doc",
10862                              name: "WillClose"
10863                            });
10864
10865                          case 4:
10866                            (_this$_closeCapabilit = _this._closeCapability) === null || _this$_closeCapabilit === void 0 ? void 0 : _this$_closeCapabilit.resolve();
10867
10868                          case 5:
10869                          case "end":
10870                            return _context.stop();
10871                        }
10872                      }
10873                    }, _callee);
10874                  }));
10875
10876                  return function (_x2) {
10877                    return _ref4.apply(this, arguments);
10878                  };
10879                }());
10880
10881                this._domEvents.set("mousedown", function (event) {
10882                  _this._mouseState.isDown = true;
10883                });
10884
10885                this._domEvents.set("mouseup", function (event) {
10886                  _this._mouseState.isDown = false;
10887                });
10888
10889                _iterator = _createForOfIteratorHelper(this._internalEvents);
10890
10891                try {
10892                  for (_iterator.s(); !(_step = _iterator.n()).done;) {
10893                    _step$value = _slicedToArray(_step.value, 2), name = _step$value[0], listener = _step$value[1];
10894
10895                    this._eventBus._on(name, listener);
10896                  }
10897                } catch (err) {
10898                  _iterator.e(err);
10899                } finally {
10900                  _iterator.f();
10901                }
10902
10903                _iterator2 = _createForOfIteratorHelper(this._domEvents);
10904
10905                try {
10906                  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
10907                    _step2$value = _slicedToArray(_step2.value, 2), _name = _step2$value[0], _listener = _step2$value[1];
10908                    window.addEventListener(_name, _listener);
10909                  }
10910                } catch (err) {
10911                  _iterator2.e(err);
10912                } finally {
10913                  _iterator2.f();
10914                }
10915
10916                _context2.prev = 40;
10917                _context2.next = 43;
10918                return this._getDocProperties();
10919
10920              case 43:
10921                docProperties = _context2.sent;
10922
10923                if (!(pdfDocument !== this._pdfDocument)) {
10924                  _context2.next = 46;
10925                  break;
10926                }
10927
10928                return _context2.abrupt("return");
10929
10930              case 46:
10931                _context2.next = 48;
10932                return this._scripting.createSandbox({
10933                  objects: objects,
10934                  calculationOrder: calculationOrder,
10935                  appInfo: {
10936                    platform: navigator.platform,
10937                    language: navigator.language
10938                  },
10939                  docInfo: _objectSpread(_objectSpread({}, docProperties), {}, {
10940                    actions: docActions
10941                  })
10942                });
10943
10944              case 48:
10945                this._eventBus.dispatch("sandboxcreated", {
10946                  source: this
10947                });
10948
10949                _context2.next = 57;
10950                break;
10951
10952              case 51:
10953                _context2.prev = 51;
10954                _context2.t1 = _context2["catch"](40);
10955                console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t1 === null || _context2.t1 === void 0 ? void 0 : _context2.t1.message, "\"."));
10956                _context2.next = 56;
10957                return this._destroyScripting();
10958
10959              case 56:
10960                return _context2.abrupt("return");
10961
10962              case 57:
10963                _context2.next = 59;
10964                return (_this$_scripting3 = this._scripting) === null || _this$_scripting3 === void 0 ? void 0 : _this$_scripting3.dispatchEventInSandbox({
10965                  id: "doc",
10966                  name: "Open"
10967                });
10968
10969              case 59:
10970                _context2.next = 61;
10971                return this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true);
10972
10973              case 61:
10974                Promise.resolve().then(function () {
10975                  if (pdfDocument === _this._pdfDocument) {
10976                    _this._ready = true;
10977                  }
10978                });
10979
10980              case 62:
10981              case "end":
10982                return _context2.stop();
10983            }
10984          }
10985        }, _callee2, this, [[19, 23], [40, 51]]);
10986      }));
10987
10988      function setDocument(_x) {
10989        return _setDocument.apply(this, arguments);
10990      }
10991
10992      return setDocument;
10993    }()
10994  }, {
10995    key: "dispatchWillSave",
10996    value: function () {
10997      var _dispatchWillSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(detail) {
10998        var _this$_scripting4;
10999
11000        return _regenerator["default"].wrap(function _callee3$(_context3) {
11001          while (1) {
11002            switch (_context3.prev = _context3.next) {
11003              case 0:
11004                return _context3.abrupt("return", (_this$_scripting4 = this._scripting) === null || _this$_scripting4 === void 0 ? void 0 : _this$_scripting4.dispatchEventInSandbox({
11005                  id: "doc",
11006                  name: "WillSave"
11007                }));
11008
11009              case 1:
11010              case "end":
11011                return _context3.stop();
11012            }
11013          }
11014        }, _callee3, this);
11015      }));
11016
11017      function dispatchWillSave(_x3) {
11018        return _dispatchWillSave.apply(this, arguments);
11019      }
11020
11021      return dispatchWillSave;
11022    }()
11023  }, {
11024    key: "dispatchDidSave",
11025    value: function () {
11026      var _dispatchDidSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(detail) {
11027        var _this$_scripting5;
11028
11029        return _regenerator["default"].wrap(function _callee4$(_context4) {
11030          while (1) {
11031            switch (_context4.prev = _context4.next) {
11032              case 0:
11033                return _context4.abrupt("return", (_this$_scripting5 = this._scripting) === null || _this$_scripting5 === void 0 ? void 0 : _this$_scripting5.dispatchEventInSandbox({
11034                  id: "doc",
11035                  name: "DidSave"
11036                }));
11037
11038              case 1:
11039              case "end":
11040                return _context4.stop();
11041            }
11042          }
11043        }, _callee4, this);
11044      }));
11045
11046      function dispatchDidSave(_x4) {
11047        return _dispatchDidSave.apply(this, arguments);
11048      }
11049
11050      return dispatchDidSave;
11051    }()
11052  }, {
11053    key: "dispatchWillPrint",
11054    value: function () {
11055      var _dispatchWillPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(detail) {
11056        var _this$_scripting6;
11057
11058        return _regenerator["default"].wrap(function _callee5$(_context5) {
11059          while (1) {
11060            switch (_context5.prev = _context5.next) {
11061              case 0:
11062                return _context5.abrupt("return", (_this$_scripting6 = this._scripting) === null || _this$_scripting6 === void 0 ? void 0 : _this$_scripting6.dispatchEventInSandbox({
11063                  id: "doc",
11064                  name: "WillPrint"
11065                }));
11066
11067              case 1:
11068              case "end":
11069                return _context5.stop();
11070            }
11071          }
11072        }, _callee5, this);
11073      }));
11074
11075      function dispatchWillPrint(_x5) {
11076        return _dispatchWillPrint.apply(this, arguments);
11077      }
11078
11079      return dispatchWillPrint;
11080    }()
11081  }, {
11082    key: "dispatchDidPrint",
11083    value: function () {
11084      var _dispatchDidPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(detail) {
11085        var _this$_scripting7;
11086
11087        return _regenerator["default"].wrap(function _callee6$(_context6) {
11088          while (1) {
11089            switch (_context6.prev = _context6.next) {
11090              case 0:
11091                return _context6.abrupt("return", (_this$_scripting7 = this._scripting) === null || _this$_scripting7 === void 0 ? void 0 : _this$_scripting7.dispatchEventInSandbox({
11092                  id: "doc",
11093                  name: "DidPrint"
11094                }));
11095
11096              case 1:
11097              case "end":
11098                return _context6.stop();
11099            }
11100          }
11101        }, _callee6, this);
11102      }));
11103
11104      function dispatchDidPrint(_x6) {
11105        return _dispatchDidPrint.apply(this, arguments);
11106      }
11107
11108      return dispatchDidPrint;
11109    }()
11110  }, {
11111    key: "mouseState",
11112    get: function get() {
11113      return this._mouseState;
11114    }
11115  }, {
11116    key: "destroyPromise",
11117    get: function get() {
11118      var _this$_destroyCapabil;
11119
11120      return ((_this$_destroyCapabil = this._destroyCapability) === null || _this$_destroyCapabil === void 0 ? void 0 : _this$_destroyCapabil.promise) || null;
11121    }
11122  }, {
11123    key: "ready",
11124    get: function get() {
11125      return this._ready;
11126    }
11127  }, {
11128    key: "_internalEvents",
11129    get: function get() {
11130      return (0, _pdfjsLib.shadow)(this, "_internalEvents", new Map());
11131    }
11132  }, {
11133    key: "_domEvents",
11134    get: function get() {
11135      return (0, _pdfjsLib.shadow)(this, "_domEvents", new Map());
11136    }
11137  }, {
11138    key: "_pageOpenPending",
11139    get: function get() {
11140      return (0, _pdfjsLib.shadow)(this, "_pageOpenPending", new Set());
11141    }
11142  }, {
11143    key: "_visitedPages",
11144    get: function get() {
11145      return (0, _pdfjsLib.shadow)(this, "_visitedPages", new Map());
11146    }
11147  }, {
11148    key: "_updateFromSandbox",
11149    value: function () {
11150      var _updateFromSandbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(detail) {
11151        var isInPresentationMode, id, siblings, command, value, ids, _iterator3, _step3, elementId, element, _this$_pdfDocument;
11152
11153        return _regenerator["default"].wrap(function _callee7$(_context7) {
11154          while (1) {
11155            switch (_context7.prev = _context7.next) {
11156              case 0:
11157                isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode;
11158                id = detail.id, siblings = detail.siblings, command = detail.command, value = detail.value;
11159
11160                if (id) {
11161                  _context7.next = 25;
11162                  break;
11163                }
11164
11165                _context7.t0 = command;
11166                _context7.next = _context7.t0 === "clear" ? 6 : _
11166context7.t0 === "error" ? 8 : _context7.t0 === "layout" ? 10 : _context7.t0 === "page-num" ? 12 : _context7.t0 === "print" ? 14 : _context7.t0 === "println" ? 18 : _context7.t0 === "zoom" ? 20 : 24;
11167                break;
11168
11169              case 6:
11170                console.clear();
11171                return _context7.abrupt("break", 24);
11172
11173              case 8:
11174                console.error(value);
11175                return _context7.abrupt("break", 24);
11176
11177              case 10:
11178                this._pdfViewer.spreadMode = (0, _ui_utils.apiPageLayoutToSpreadMode)(value);
11179                return _context7.abrupt("break", 24);
11180
11181              case 12:
11182                this._pdfViewer.currentPageNumber = value + 1;
11183                return _context7.abrupt("break", 24);
11184
11185              case 14:
11186                _context7.next = 16;
11187                return this._pdfViewer.pagesPromise;
11188
11189              case 16:
11190                this._eventBus.dispatch("print", {
11191                  source: this
11192                });
11193
11194                return _context7.abrupt("break", 24);
11195
11196              case 18:
11197                console.log(value);
11198                return _context7.abrupt("break", 24);
11199
11200              case 20:
11201                if (!isInPresentationMode) {
11202                  _context7.next = 22;
11203                  break;
11204                }
11205
11206                return _context7.abrupt("return");
11207
11208              case 22:
11209                this._pdfViewer.currentScaleValue = value;
11210                return _context7.abrupt("break", 24);
11211
11212              case 24:
11213                return _context7.abrupt("return");
11214
11215              case 25:
11216                if (!isInPresentationMode) {
11217                  _context7.next = 28;
11218                  break;
11219                }
11220
11221                if (!detail.focus) {
11222                  _context7.next = 28;
11223                  break;
11224                }
11225
11226                return _context7.abrupt("return");
11227
11228              case 28:
11229                delete detail.id;
11230                delete detail.siblings;
11231                ids = siblings ? [id].concat(_toConsumableArray(siblings)) : [id];
11232                _iterator3 = _createForOfIteratorHelper(ids);
11233
11234                try {
11235                  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
11236                    elementId = _step3.value;
11237                    element = document.getElementById(elementId);
11238
11239                    if (element) {
11240                      element.dispatchEvent(new CustomEvent("updatefromsandbox", {
11241                        detail: detail
11242                      }));
11243                    } else {
11244                      (_this$_pdfDocument = this._pdfDocument) === null || _this$_pdfDocument === void 0 ? void 0 : _this$_pdfDocument.annotationStorage.setValue(elementId, detail);
11245                    }
11246                  }
11247                } catch (err) {
11248                  _iterator3.e(err);
11249                } finally {
11250                  _iterator3.f();
11251                }
11252
11253              case 33:
11254              case "end":
11255                return _context7.stop();
11256            }
11257          }
11258        }, _callee7, this);
11259      }));
11260
11261      function _updateFromSandbox(_x7) {
11262        return _updateFromSandbox2.apply(this, arguments);
11263      }
11264
11265      return _updateFromSandbox;
11266    }()
11267  }, {
11268    key: "_dispatchPageOpen",
11269    value: function () {
11270      var _dispatchPageOpen2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9(pageNumber) {
11271        var _this2 = this;
11272
11273        var initialize,
11274            pdfDocument,
11275            visitedPages,
11276            pageView,
11277            actionsPromise,
11278            _args9 = arguments;
11279        return _regenerator["default"].wrap(function _callee9$(_context9) {
11280          while (1) {
11281            switch (_context9.prev = _context9.next) {
11282              case 0:
11283                initialize = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : false;
11284                pdfDocument = this._pdfDocument, visitedPages = this._visitedPages;
11285
11286                if (initialize) {
11287                  this._closeCapability = (0, _pdfjsLib.createPromiseCapability)();
11288                }
11289
11290                if (this._closeCapability) {
11291                  _context9.next = 5;
11292                  break;
11293                }
11294
11295                return _context9.abrupt("return");
11296
11297              case 5:
11298                pageView = this._pdfViewer.getPageView(pageNumber - 1);
11299
11300                if (!((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) !== _pdf_rendering_queue.RenderingStates.FINISHED)) {
11301                  _context9.next = 9;
11302                  break;
11303                }
11304
11305                this._pageOpenPending.add(pageNumber);
11306
11307                return _context9.abrupt("return");
11308
11309              case 9:
11310                this._pageOpenPending["delete"](pageNumber);
11311
11312                actionsPromise = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
11313                  var _pageView$pdfPage, _this2$_scripting;
11314
11315                  var actions;
11316                  return _regenerator["default"].wrap(function _callee8$(_context8) {
11317                    while (1) {
11318                      switch (_context8.prev = _context8.next) {
11319                        case 0:
11320                          _context8.next = 2;
11321                          return !visitedPages.has(pageNumber) ? (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.getJSActions() : null;
11322
11323                        case 2:
11324                          actions = _context8.sent;
11325
11326                          if (!(pdfDocument !== _this2._pdfDocument)) {
11327                            _context8.next = 5;
11328                            break;
11329                          }
11330
11331                          return _context8.abrupt("return");
11332
11333                        case 5:
11334                          _context8.next = 7;
11335                          return (_this2$_scripting = _this2._scripting) === null || _this2$_scripting === void 0 ? void 0 : _this2$_scripting.dispatchEventInSandbox({
11336                            id: "page",
11337                            name: "PageOpen",
11338                            pageNumber: pageNumber,
11339                            actions: actions
11340                          });
11341
11342                        case 7:
11343                        case "end":
11344                          return _context8.stop();
11345                      }
11346                    }
11347                  }, _callee8);
11348                }))();
11349                visitedPages.set(pageNumber, actionsPromise);
11350
11351              case 12:
11352              case "end":
11353                return _context9.stop();
11354            }
11355          }
11356        }, _callee9, this);
11357      }));
11358
11359      function _dispatchPageOpen(_x8) {
11360        return _dispatchPageOpen2.apply(this, arguments);
11361      }
11362
11363      return _dispatchPageOpen;
11364    }()
11365  }, {
11366    key: "_dispatchPageClose",
11367    value: function () {
11368      var _dispatchPageClose2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10(pageNumber) {
11369        var _this$_scripting8;
11370
11371        var pdfDocument, visitedPages, actionsPromise;
11372        return _regenerator["default"].wrap(function _callee10$(_context10) {
11373          while (1) {
11374            switch (_context10.prev = _context10.next) {
11375              case 0:
11376                pdfDocument = this._pdfDocument, visitedPages = this._visitedPages;
11377
11378                if (this._closeCapability) {
11379                  _context10.next = 3;
11380                  break;
11381                }
11382
11383                return _context10.abrupt("return");
11384
11385              case 3:
11386                if (!this._pageOpenPending.has(pageNumber)) {
11387                  _context10.next = 5;
11388                  break;
11389                }
11390
11391                return _context10.abrupt("return");
11392
11393              case 5:
11394                actionsPromise = visitedPages.get(pageNumber);
11395
11396                if (actionsPromise) {
11397                  _context10.next = 8;
11398                  break;
11399                }
11400
11401                return _context10.abrupt("return");
11402
11403              case 8:
11404                visitedPages.set(pageNumber, null);
11405                _context10.next = 11;
11406                return actionsPromise;
11407
11408              case 11:
11409                if (!(pdfDocument !== this._pdfDocument)) {
11410                  _context10.next = 13;
11411                  break;
11412                }
11413
11414                return _context10.abrupt("return");
11415
11416              case 13:
11417                _context10.next = 15;
11418                return (_this$_scripting8 = this._scripting) === null || _this$_scripting8 === void 0 ? void 0 : _this$_scripting8.dispatchEventInSandbox({
11419                  id: "page",
11420                  name: "PageClose",
11421                  pageNumber: pageNumber
11422                });
11423
11424              case 15:
11425              case "end":
11426                return _context10.stop();
11427            }
11428          }
11429        }, _callee10, this);
11430      }));
11431
11432      function _dispatchPageClose(_x9) {
11433        return _dispatchPageClose2.apply(this, arguments);
11434      }
11435
11436      return _dispatchPageClose;
11437    }()
11438  }, {
11439    key: "_getDocProperties",
11440    value: function () {
11441      var _getDocProperties2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
11442        return _regenerator["default"].wrap(function _callee11$(_context11) {
11443          while (1) {
11444            switch (_context11.prev = _context11.next) {
11445              case 0:
11446                if (!this._docPropertiesLookup) {
11447                  _context11.next = 2;
11448                  break;
11449                }
11450
11451                return _context11.abrupt("return", this._docPropertiesLookup(this._pdfDocument));
11452
11453              case 2:
11454                throw new Error("_getDocProperties: Unable to lookup properties.");
11455
11456              case 3:
11457              case "end":
11458                return _context11.stop();
11459            }
11460          }
11461        }, _callee11, this);
11462      }));
11463
11464      function _getDocProperties() {
11465        return _getDocProperties2.apply(this, arguments);
11466      }
11467
11468      return _getDocProperties;
11469    }()
11470  }, {
11471    key: "_createScripting",
11472    value: function _createScripting() {
11473      this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)();
11474
11475      if (this._scripting) {
11476        throw new Error("_createScripting: Scripting already exists.");
11477      }
11478
11479      if (this._scriptingFactory) {
11480        return this._scriptingFactory.createScripting({
11481          sandboxBundleSrc: this._sandboxBundleSrc
11482        });
11483      }
11484
11485      throw new Error("_createScripting: Cannot create scripting.");
11486    }
11487  }, {
11488    key: "_destroyScripting",
11489    value: function () {
11490      var _destroyScripting2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
11491        var _this$_destroyCapabil3;
11492
11493        var _this$_destroyCapabil2, _iterator4, _step4, _step4$value, name, listener, _iterator5, _step5, _step5$value, _name2, _listener2;
11494
11495        return _regenerator["default"].wrap(function _callee12$(_context12) {
11496          while (1) {
11497            switch (_context12.prev = _context12.next) {
11498              case 0:
11499                if (this._scripting) {
11500                  _context12.next = 4;
11501                  break;
11502                }
11503
11504                this._pdfDocument = null;
11505                (_this$_destroyCapabil2 = this._destroyCapability) === null || _this$_destroyCapabil2 === void 0 ? void 0 : _this$_destroyCapabil2.resolve();
11506                return _context12.abrupt("return");
11507
11508              case 4:
11509                if (!this._closeCapability) {
11510                  _context12.next = 8;
11511                  break;
11512                }
11513
11514                _context12.next = 7;
11515                return Promise.race([this._closeCapability.promise, new Promise(function (resolve) {
11516                  setTimeout(resolve, 1000);
11517                })])["catch"](function (reason) {});
11518
11519              case 7:
11520                this._closeCapability = null;
11521
11522              case 8:
11523                this._pdfDocument = null;
11524                _context12.prev = 9;
11525                _context12.next = 12;
11526                return this._scripting.destroySandbox();
11527
11528              case 12:
11529                _context12.next = 16;
11530                break;
11531
11532              case 14:
11533                _context12.prev = 14;
11534                _context12.t0 = _context12["catch"](9);
11535
11536              case 16:
11537                _iterator4 = _createForOfIteratorHelper(this._internalEvents);
11538
11539                try {
11540                  for (_iterator4.s();
11540 !(_step4 = _iterator4.n()).done;) {
11541                    _step4$value = _slicedToArray(_step4.value, 2), name = _step4$value[0], listener = _step4$value[1];
11542
11543                    this._eventBus._off(name, listener);
11544                  }
11545                } catch (err) {
11546                  _iterator4.e(err);
11547                } finally {
11548                  _iterator4.f();
11549                }
11550
11551                this._internalEvents.clear();
11552
11553                _iterator5 = _createForOfIteratorHelper(this._domEvents);
11554
11555                try {
11556                  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
11557                    _step5$value = _slicedToArray(_step5.value, 2), _name2 = _step5$value[0], _listener2 = _step5$value[1];
11558                    window.removeEventListener(_name2, _listener2);
11559                  }
11560                } catch (err) {
11561                  _iterator5.e(err);
11562                } finally {
11563                  _iterator5.f();
11564                }
11565
11566                this._domEvents.clear();
11567
11568                this._pageOpenPending.clear();
11569
11570                this._visitedPages.clear();
11571
11572                this._scripting = null;
11573                delete this._mouseState.isDown;
11574                this._ready = false;
11575                (_this$_destroyCapabil3 = this._destroyCapability) === null || _this$_destroyCapabil3 === void 0 ? void 0 : _this$_destroyCapabil3.resolve();
11576
11577              case 28:
11578              case "end":
11579                return _context12.stop();
11580            }
11581          }
11582        }, _callee12, this, [[9, 14]]);
11583      }));
11584
11585      function _destroyScripting() {
11586        return _destroyScripting2.apply(this, arguments);
11587      }
11588
11589      return _destroyScripting;
11590    }()
11591  }]);
11592
11593  return PDFScriptingManager;
11594}();
11595
11596exports.PDFScriptingManager = PDFScriptingManager;
11597
11598/***/ }),
11599/* 25 */
11600/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11601
11602
11603
11604Object.defineProperty(exports, "__esModule", ({
11605  value: true
11606}));
11607exports.PDFSidebar = void 0;
11608
11609var _ui_utils = __webpack_require__(6);
11610
11611var _pdf_rendering_queue = __webpack_require__(10);
11612
11613function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11614
11615function _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); } }
11616
11617function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
11618
11619var UI_NOTIFICATION_CLASS = "pdfSidebarNotification";
11620
11621var PDFSidebar = /*#__PURE__*/function () {
11622  function PDFSidebar(_ref) {
11623    var elements = _ref.elements,
11624        pdfViewer = _ref.pdfViewer,
11625        pdfThumbnailViewer = _ref.pdfThumbnailViewer,
11626        eventBus = _ref.eventBus,
11627        l10n = _ref.l10n;
11628
11629    _classCallCheck(this, PDFSidebar);
11630
11631    this.isOpen = false;
11632    this.active = _ui_utils.SidebarView.THUMBS;
11633    this.isInitialViewSet = false;
11634    this.onToggled = null;
11635    this.pdfViewer = pdfViewer;
11636    this.pdfThumbnailViewer = pdfThumbnailViewer;
11637    this.outerContainer = elements.outerContainer;
11638    this.viewerContainer = elements.viewerContainer;
11639    this.toggleButton = elements.toggleButton;
11640    this.thumbnailButton = elements.thumbnailButton;
11641    this.outlineButton = elements.outlineButton;
11642    this.attachmentsButton = elements.attachmentsButton;
11643    this.layersButton = elements.layersButton;
11644    this.thumbnailView = elements.thumbnailView;
11645    this.outlineView = elements.outlineView;
11646    this.attachmentsView = elements.attachmentsView;
11647    this.layersView = elements.layersView;
11648    this._outlineOptionsContainer = elements.outlineOptionsContainer;
11649    this._currentOutlineItemButton = elements.currentOutlineItemButton;
11650    this.eventBus = eventBus;
11651    this.l10n = l10n;
11652
11653    this._addEventListeners();
11654  }
11655
11656  _createClass(PDFSidebar, [{
11657    key: "reset",
11658    value: function reset() {
11659      this.isInitialViewSet = false;
11660
11661      this._hideUINotification(true);
11662
11663      this.switchView(_ui_utils.SidebarView.THUMBS);
11664      this.outlineButton.disabled = false;
11665      this.attachmentsButton.disabled = false;
11666      this.layersButton.disabled = false;
11667      this._currentOutlineItemButton.disabled = true;
11668    }
11669  }, {
11670    key: "visibleView",
11671    get: function get() {
11672      return this.isOpen ? this.active : _ui_utils.SidebarView.NONE;
11673    }
11674  }, {
11675    key: "isThumbnailViewVisible",
11676    get: function get() {
11677      return this.isOpen && this.active === _ui_utils.SidebarView.THUMBS;
11678    }
11679  }, {
11680    key: "isOutlineViewVisible",
11681    get: function get() {
11682      return this.isOpen && this.active === _ui_utils.SidebarView.OUTLINE;
11683    }
11684  }, {
11685    key: "isAttachmentsViewVisible",
11686    get: function get() {
11687      return this.isOpen && this.active === _ui_utils.SidebarView.ATTACHMENTS;
11688    }
11689  }, {
11690    key: "isLayersViewVisible",
11691    get: function get() {
11692      return this.isOpen && this.active === _ui_utils.SidebarView.LAYERS;
11693    }
11694  }, {
11695    key: "setInitialView",
11696    value: function setInitialView() {
11697      var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ui_utils.SidebarView.NONE;
11698
11699      if (this.isInitialViewSet) {
11700        return;
11701      }
11702
11703      this.isInitialViewSet = true;
11704
11705      if (view === _ui_utils.SidebarView.NONE || view === _ui_utils.SidebarView.UNKNOWN) {
11706        this._dispatchEvent();
11707
11708        return;
11709      }
11710
11711      if (!this._switchView(view, true)) {
11712        this._dispatchEvent();
11713      }
11714    }
11715  }, {
11716    key: "switchView",
11717    value: function switchView(view) {
11718      var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
11719
11720      this._switchView(view, forceOpen);
11721    }
11722  }, {
11723    key: "_switchView",
11724    value: function _switchView(view) {
11725      var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
11726      var isViewChanged = view !== this.active;
11727      var shouldForceRendering = false;
11728
11729      switch (view) {
11730        case _ui_utils.SidebarView.NONE:
11731          if (this.isOpen) {
11732            this.close();
11733            return true;
11734          }
11735
11736          return false;
11737
11738        case _ui_utils.SidebarView.THUMBS:
11739          if (this.isOpen && isViewChanged) {
11740            shouldForceRendering = true;
11741          }
11742
11743          break;
11744
11745        case _ui_utils.SidebarView.OUTLINE:
11746          if (this.outlineButton.disabled) {
11747            return false;
11748          }
11749
11750          break;
11751
11752        case _ui_utils.SidebarView.ATTACHMENTS:
11753          if (this.attachmentsButton.disabled) {
11754            return false;
11755          }
11756
11757          break;
11758
11759        case _ui_utils.SidebarView.LAYERS:
11760          if (this.layersButton.disabled) {
11761            return false;
11762          }
11763
11764          break;
11765
11766        default:
11767          console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view."));
11768          return false;
11769      }
11770
11771      this.active = view;
11772      this.thumbnailButton.classList.toggle("toggled", view === _ui_utils.SidebarView.THUMBS);
11773      this.outlineButton.classList.toggle("toggled", view === _ui_utils.SidebarView.OUTLINE);
11774      this.attachmentsButton.classList.toggle("toggled", view === _ui_utils.SidebarView.ATTACHMENTS);
11775      this.layersButton.classList.toggle("toggled", view === _ui_utils.SidebarView.LAYERS);
11776      this.thumbnailView.classList.toggle("hidden", view !== _ui_utils.SidebarView.THUMBS);
11777      this.outlineView.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE);
11778      this.attachmentsView.classList.toggle("hidden", view !== _ui_utils.SidebarView.ATTACHMENTS);
11779      this.layersView.classList.toggle("hidden", view !== _ui_utils.SidebarView.LAYERS);
11780
11781      this._outlineOptionsContainer.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE);
11782
11783      if (forceOpen && !this.isOpen) {
11784        this.open();
11785        return true;
11786      }
11787
11788      if (shouldForceRendering) {
11789        this._updateThumbnailViewer();
11790
11791        this._forceRendering();
11792      }
11793
11794      if (isViewChanged) {
11795        this._dispatchEvent();
11796      }
11797
11798      return isViewChanged;
11799    }
11800  }, {
11801    key: "open",
11802    value: function open() {
11803      if (this.isOpen) {
11804        return;
11805      }
11806
11807      this.isOpen = true;
11808      this.toggleButton.classList.add("toggled");
11809      this.toggleButton.setAttribute("aria-expanded", "true");
11810      this.outerContainer.classList.add("sidebarMoving", "sidebarOpen");
11811
11812      if (this.active === _ui_utils.SidebarView.THUMBS) {
11813        this._updateThumbnailViewer();
11814      }
11815
11816      this._forceRendering();
11817
11818      this._dispatchEvent();
11819
11820      this._hideUINotification();
11821    }
11822  }, {
11823    key: "close",
11824    value: function close() {
11825      if (!this.isOpen) {
11826        return;
11827      }
11828
11829      this.isOpen = false;
11830      this.toggleButton.classList.remove("toggled");
11831      this.toggleButton.setAttribute("aria-expanded", "false");
11832      this.outerContainer.classList.add("sidebarMoving");
11833      this.outerContainer.classList.remove("sidebarOpen");
11834
11835      this._forceRendering();
11836
11837      this._dispatchEvent();
11838    }
11839  }, {
11840    key: "toggle",
11841    value: function toggle() {
11842      if (this.isOpen) {
11843        this.close();
11844      } else {
11845        this.open();
11846      }
11847    }
11848  }, {
11849    key: "_dispatchEvent",
11850    value: function _dispatchEvent() {
11851      this.eventBus.dispatch("sidebarviewchanged", {
11852        source: this,
11853        view: this.visibleView
11854      });
11855    }
11856  }, {
11857    key: "_forceRendering",
11858    value: function _forceRendering() {
11859      if (this.onToggled) {
11860        this.onToggled();
11861      } else {
11862        this.pdfViewer.forceRendering();
11863        this.pdfThumbnailViewer.forceRendering();
11864      }
11865    }
11866  }, {
11867    key: "_updateThumbnailViewer",
11868    value: function _updateThumbnailViewer() {
11869      var pdfViewer = this.pdfViewer,
11870          pdfThumbnailViewer = this.pdfThumbnailViewer;
11871      var pagesCount = pdfViewer.pagesCount;
11872
11873      for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
11874        var pageView = pdfViewer.getPageView(pageIndex);
11875
11876        if ((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) === _pdf_rendering_queue.RenderingStates.FINISHED) {
11877          var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);
11878          thumbnailView.setImage(pageView);
11879        }
11880      }
11881
11882      pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
11883    }
11884  }, {
11885    key: "_showUINotification",
11886    value: function _showUINotification() {
11887      var _this = this;
11888
11889      this.l10n.get("toggle_sidebar_notification2.title").then(function (msg) {
11890        _this.toggleButton.title = msg;
11891      });
11892
11893      if (!this.isOpen) {
11894        this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);
11895      }
11896    }
11897  }, {
11898    key: "_hideUINotification",
11899    value: function _hideUINotification() {
11900      var _this2 = this;
11901
11902      var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
11903
11904      if (this.isOpen || reset) {
11905        this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);
11906      }
11907
11908      if (reset) {
11909        this.l10n.get("toggle_sidebar.title").then(function (msg) {
11910          _this2.toggleButton.title = msg;
11911        });
11912      }
11913    }
11914  }, {
11915    key: "_addEventListeners",
11916    value: function _addEventListeners() {
11917      var _this3 = this;
11918
11919      this.viewerContainer.addEventListener("transitionend", function (evt) {
11920        if (evt.target === _this3.viewerContainer) {
11921          _this3.outerContainer.classList.remove("sidebarMoving");
11922        }
11923      });
11924      this.toggleButton.addEventListener("click", function () {
11925        _this3.toggle();
11926      });
11927      this.thumbnailButton.addEventListener("click", function () {
11928        _this3.switchView(_ui_utils.SidebarView.THUMBS);
11929      });
11930      this.outlineButton.addEventListener("click", function () {
11931        _this3.switchView(_ui_utils.SidebarView.OUTLINE);
11932      });
11933      this.outlineButton.addEventListener("dblclick", function () {
11934        _this3.eventBus.dispatch("toggleoutlinetree", {
11935          source: _this3
11936        });
11937      });
11938      this.attachmentsButton.addEventListener("click", function () {
11939        _this3.switchView(_ui_utils.SidebarView.ATTACHMENTS);
11940      });
11941      this.layersButton.addEventListener("click", function () {
11942        _this3.switchView(_ui_utils.SidebarView.LAYERS);
11943      });
11944      this.layersButton.addEventListener("dblclick", function () {
11945        _this3.eventBus.dispatch("resetlayers", {
11946          source: _this3
11947        });
11948      });
11949
11950      this._currentOutlineItemButton.addEventListener("click", function () {
11951        _this3.eventBus.dispatch("currentoutlineitem", {
11952          source: _this3
11953        });
11954      });
11955
11956      var onTreeLoaded = function onTreeLoaded(count, button, view) {
11957        button.disabled = !count;
11958
11959        if (count) {
11960          _this3._showUINotification();
11961        } else if (_this3.active === view) {
11962          _this3.switchView(_ui_utils.SidebarView.THUMBS);
11963        }
11964      };
11965
11966      this.eventBus._on("outlineloaded", function (evt) {
11967        onTreeLoaded(evt.outlineCount, _this3.outlineButton, _ui_utils.SidebarView.OUTLINE);
11968        evt.currentOutlineItemPromise.then(function (enabled) {
11969          if (!_this3.isInitialViewSet) {
11970            return;
11971          }
11972
11973          _this3._currentOutlineItemButton.disabled = !enabled;
11974        });
11975      });
11976
11977      this.eventBus._on("attachmentsloaded", function (evt) {
11978        onTreeLoaded(evt.attachmentsCount, _this3.attachmentsButton, _ui_utils.SidebarView.ATTACHMENTS);
11979      });
11980
11981      this.eventBus._on("layersloaded", function (evt) {
11982        onTreeLoaded(evt.layersCount, _this3.layersButton, _ui_utils.SidebarView.LAYERS);
11983      });
11984
11985      this.eventBus._on("presentationmodechanged", function (evt) {
11986        if (evt.state === _ui_utils.PresentationModeState.NORMAL && _this3.isThumbnailViewVisible) {
11987          _this3._updateThumbnailViewer();
11988        }
11989      });
11990    }
11991  }]);
11992
11993  return PDFSidebar;
11994}();
11995
11996exports.PDFSidebar = PDFSidebar;
11997
11998/***/ }),
11999/* 26 */
12000/***/ ((__unused_webpack_module, exports) => {
12001
12002
12003
12004Object.defineProperty(exports, "__esModule", ({
12005  value: true
12006}));
12007exports.PDFSidebarResizer = void 0;
12008
12009function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12010
12011function _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); } }
12012
12013function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
12014
12015var SIDEBAR_WIDTH_VAR = "--sidebar-width";
12016var SIDEBAR_MIN_WIDTH = 200;
12017var SIDEBAR_RESIZING_CLASS = "sidebarResizing";
12018
12019var PDFSidebarResizer = /*#__PURE__*/function () {
12020  function PDFSidebarResizer(options, eventBus, l10n) {
12021    var _this = this;
12022
12023    _classCallCheck(this, PDFSidebarResizer);
12024
12025    this.isRTL = false;
12026    this.sidebarOpen = false;
12027    this.doc = document.documentElement;
12028    this._width = null;
12029    this._outerContainerWidth = null;
12030    this._boundEvents = Object.create(null);
12031    this.outerContainer = options.outerContainer;
12032    this.resizer = options.resizer;
12033    this.eventBus = eventBus;
12034    l10n.getDirection().then(function (dir) {
12035      _this.isRTL = dir === "rtl";
12036    });
12037
12038    this._addEventListeners();
12039  }
12040
12041  _createClass(PDFSidebarResizer, [{
12042    key: "outerContainerWidth",
12043    get: function get() {
12044      return this._outerContainerWidth || (this._outerContainerWidth = this.outerContainer.clientWidth);
12045    }
12046  }, {
12047    key: "_updateWidth",
12048    value: function _updateWidth() {
12049      var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
12050      var maxWidth = Math.floor(this.outerContainerWidth / 2);
12051
12052      if (width > maxWidth) {
12053        width = maxWidth;
12054      }
12055
12056      if (width < SIDEBAR_MIN_WIDTH) {
12057        width = SIDEBAR_MIN_WIDTH;
12058      }
12059
12060      if (width === this._width) {
12061        return false;
12062      }
12063
12064      this._width = width;
12065      this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, "".concat(width, "px"));
12066      return true;
12067    }
12068  }, {
12069    key: "_mouseMove",
12070    value: function _mouseMove(evt) {
12071      var width = evt.clientX;
12072
12073      if (this.isRTL) {
12074        width = this.outerContainerWidth - width;
12075      }
12076
12077      this._updateWidth(width);
12078    }
12079  }, {
12080    key: "_mouseUp",
12081    value: function _mouseUp(evt) {
12082      this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
12083      this.eventBus.dispatch("resize", {
12084        source: this
12085      });
12086      var _boundEvents = this._boundEvents;
12087      window.removeEventListener("mousemove", _boundEvents.mouseMove);
12088      window.removeEventListener("mouseup", _boundEvents.mouseUp);
12089    }
12090  }, {
12091    key: "_addEventListeners",
12092    value: function _addEventListeners() {
12093      var _this2 = this;
12094
12095      var _boundEvents = this._boundEvents;
12096      _boundEvents.mouseMove = this._mouseMove.bind(this);
12097      _boundEvents.mouseUp = this._mouseUp.bind(this);
12098      this.resizer.addEventListener("mousedown", function (evt) {
12099        if (evt.button !== 0) {
12100          return;
12101        }
12102
12103        _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
12104
12105        window.addEventListener("mousemove", _boundEvents.mouseMove);
12106        window.addEventListener("mouseup", _boundEvents.mouseUp);
12107      });
12108
12109      this.eventBus._on("sidebarviewchanged", function (evt) {
12110        _this2.sidebarOpen = !!(evt !== null && evt !== void 0 && evt.view);
12111      });
12112
12113      this.eventBus._on("resize", function (evt) {
12114        if ((evt === null || evt === void 0 ? void 0 : evt.source) !== window) {
12115          return;
12116        }
12117
12118        _this2._outerContainerWidth = null;
12119
12120        if (!_this2._width) {
12121          return;
12122        }
12123
12124        if (!_this2.sidebarOpen) {
12125          _this2._updateWidth(_this2._width);
12126
12127          return;
12128        }
12129
12130        _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
12131
12132        var updated = _this2._updateWidth(_this2._width);
12133
12134        Promise.resolve().then(function () {
12135          _this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
12136
12137          if (updated) {
12138            _this2.eventBus.dispatch("resize", {
12139              source: _this2
12140            });
12141          }
12142        });
12143      });
12144    }
12145  }]);
12146
12147  return PDFSidebarResizer;
12148}();
12149
12150exports.PDFSidebarResizer = PDFSidebarResizer;
12151
12152/***/ }),
12153/* 27 */
12154/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12155
12156
12157
12158Object.defineProperty(exports, "__esModule", ({
12159  value: true
12160}));
12161exports.PDFThumbnailViewer = void 0;
12162
12163var _ui_utils = __webpack_require__(6);
12164
12165var _pdf_thumbnail_view = __webpack_require__(28);
12166
12167var _pdf_rendering_queue = __webpack_require__(10);
12168
12169function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12170
12171function _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); } }
12172
12173function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
12174
12175var THUMBNAIL_SCROLL_MARGIN = -19;
12176var THUMBNAIL_SELECTED_CLASS = "selected";
12177
12178var PDFThumbnailViewer = /*#__PURE__*/function () {
12179  function PDFThumbnailViewer(_ref) {
12180    var _this = this;
12181
12182    var container = _ref.container,
12183        eventBus = _ref.eventBus,
12184        linkService = _ref.linkService,
12185        renderingQueue = _ref.renderingQueue,
12186        l10n = _ref.l10n;
12187
12188    _classCallCheck(this, PDFThumbnailViewer);
12189
12190    this.container = container;
12191    this.linkService = linkService;
12192    this.renderingQueue = renderingQueue;
12193    this.l10n = l10n;
12194    this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this));
12195
12196    this._resetView();
12197
12198    eventBus._on("optionalcontentconfigchanged", function () {
12199      _this._setImageDisabled = true;
12200    });
12201  }
12202
12203  _createClass(PDFThumbnailViewer, [{
12204    key: "_scrollUpdated",
12205    value: function _scrollUpdated() {
12206      this.renderingQueue.renderHighestPriority();
12207    }
12208  }, {
12209    key: "getThumbnail",
12210    value: function getThumbnail(index) {
12211      return this._thumbnails[index];
12212    }
12213  }, {
12214    key: "_getVisibleThumbs",
12215    value: function _getVisibleThumbs() {
12216      return (0, _ui_utils.getVisibleElements)({
12217        scrollEl: this.container,
12218        views: this._thumbnails
12219      });
12220    }
12221  }, {
12222    key: "scrollThumbnailIntoView",
12223    value: function scrollThumbnailIntoView(pageNumber) {
12224      if (!this.pdfDocument) {
12225        return;
12226      }
12227
12228      var thumbnailView = this._thumbnails[pageNumber - 1];
12229
12230      if (!thumbnailView) {
12231        console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
12232        return;
12233      }
12234
12235      if (pageNumber !== this._currentPageNumber) {
12236        var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
12237        prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
12238        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
12239      }
12240
12241      var visibleThumbs = this._getVisibleThumbs();
12242
12243      var numVisibleThumbs = visibleThumbs.views.length;
12244
12245      if (numVisibleThumbs > 0) {
12246        var first = visibleThumbs.first.id;
12247        var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
12248        var shouldScroll = false;
12249
12250        if (pageNumber <= first || pageNumber >= last) {
12251          shouldScroll = true;
12252        } else {
12253          visibleThumbs.views.some(function (view) {
12254            if (view.id !== pageNumber) {
12255              return false;
12256            }
12257
12258            shouldScroll = view.percent < 100;
12259            return true;
12260          });
12261        }
12262
12263        if (shouldScroll) {
12264          (0, _ui_utils.scrollIntoView)(thumbnailView.div, {
12265            top: THUMBNAIL_SCROLL_MARGIN
12266          });
12267        }
12268      }
12269
12270      this._currentPageNumber = pageNumber;
12271    }
12272  }, {
12273    key: "pagesRotation",
12274    get: function get() {
12275      return this._pagesRotation;
12276    },
12277    set: function set(rotation) {
12278      if (!(0, _ui_utils.isValidRotation)(rotation)) {
12279        throw new Error("Invalid thumbnails rotation angle.");
12280      }
12281
12282      if (!this.pdfDocument) {
12283        return;
12284      }
12285
12286      if (this._pagesRotation === rotation) {
12287        return;
12288      }
12289
12290      this._pagesRotation = rotation;
12291
12292      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
12293        this._thumbnails[i].update(rotation);
12294      }
12295    }
12296  }, {
12297    key: "cleanup",
12298    value: function cleanup() {
12299      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
12300        if (this._thumbnails[i] && this._thumbnails[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
12301          this._thumbnails[i].reset();
12302        }
12303      }
12304
12305      _pdf_thumbnail_view.TempImageFactory.destroyCanvas();
12306    }
12307  }, {
12308    key: "_resetView",
12309    value: function _resetView() {
12310      this._thumbnails = [];
12311      this._currentPageNumber = 1;
12312      this._pageLabels = null;
12313      this._pagesRotation = 0;
12314      this._optionalContentConfigPromise = null;
12315      this._pagesRequests = new WeakMap();
12316      this._setImageDisabled = false;
12317      this.container.textContent = "";
12318    }
12319  }, {
12320    key: "setDocument",
12321    value: function setDocument(pdfDocument) {
12322      var _this2 = this;
12323
12324      if (this.pdfDocument) {
12325        this._cancelRendering();
12326
12327        this._resetView();
12328      }
12329
12330      this.pdfDocument = pdfDocument;
12331
12332      if (!pdfDocument) {
12333        return;
12334      }
12335
12336      var firstPagePromise = pdfDocument.getPage(1);
12337      var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
12338      firstPagePromise.then(function (firstPdfPage) {
12339        _this2._optionalContentConfigPromise = optionalContentConfigPromise;
12340        var pagesCount = pdfDocument.numPages;
12341        var viewport = firstPdfPage.getViewport({
12342          scale: 1
12343        });
12344
12345        var checkSetImageDisabled = function checkSetImageDisabled() {
12346          return _this2._setImageDisabled;
12347        };
12348
12349        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
12350          var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
12351            container: _this2.container,
12352            id: pageNum,
12353            defaultViewport: viewport.clone(),
12354            optionalContentConfigPromise: optionalContentConfigPromise,
12355            linkService: _this2.linkService,
12356            renderingQueue: _this2.renderingQueue,
12357            checkSetImageDisabled: checkSetImageDisabled,
12358            l10n: _this2.l10n
12359          });
12360
12361          _this2._thumbnails.push(thumbnail);
12362        }
12363
12364        var firstThumbnailView = _this2._thumbnails[0];
12365
12366        if (firstThumbnailView) {
12367          firstThumbnailView.setPdfPage(firstPdfPage);
12368        }
12369
12370        var thumbnailView = _this2._thumbnails[_this2._currentPageNumber - 1];
12371        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
12372      })["catch"](function (reason) {
12373        console.error("Unable to initialize thumbnail viewer", reason);
12374      });
12375    }
12376  }, {
12377    key: "_cancelRendering",
12378    value: function _cancelRendering() {
12379      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
12380        if (this._thumbnails[i]) {
12381          this._thumbnails[i].cancelRendering();
12382        }
12383      }
12384    }
12385  }, {
12386    key: "setPageLabels",
12387    value: function setPageLabels(labels) {
12388      if (!this.pdfDocument) {
12389        return;
12390      }
12391
12392      if (!labels) {
12393        this._pageLabels = null;
12394      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
12395        this._pageLabels = null;
12396        console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.");
12397      } else {
12398        this._pageLabels = labels;
12399      }
12400
12401      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
12402        var _this$_pageLabels$i, _this$_pageLabels;
12403
12404        this._thumbnails[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels = this._pageLabels) === null || _this$_pageLabels === void 0 ? void 0 : _this$_pageLabels[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null);
12405      }
12406    }
12407  }, {
12408    key: "_ensurePdfPageLoaded",
12409    value: function _ensurePdfPageLoaded(thumbView) {
12410      var _this3 = this;
12411
12412      if (thumbView.pdfPage) {
12413        return Promise.resolve(thumbView.pdfPage);
12414      }
12415
12416      if (this._pagesRequests.has(thumbView)) {
12417        return this._pagesRequests.get(thumbView);
12418      }
12419
12420      var promise = this.pdfDocument.getPage(thumbView.id).then(function (pdfPage) {
12421        if (!thumbView.pdfPage) {
12422          thumbView.setPdfPage(pdfPage);
12423        }
12424
12425        _this3._pagesRequests["delete"](thumbView);
12426
12427        return pdfPage;
12428      })["catch"](function (reason) {
12429        console.error("Unable to get page for thumb view", reason);
12430
12431        _this3._pagesRequests["delete"](thumbView);
12432      });
12433
12434      this._pagesRequests.set(thumbView, promise);
12435
12436      return promise;
12437    }
12438  }, {
12439    key: "forceRendering",
12440    value: function forceRendering() {
12441      var _this4 = this;
12442
12443      var visibleThumbs = this._getVisibleThumbs();
12444
12445      var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down);
12446
12447      if (thumbView) {
12448        this._ensurePdfPageLoaded(thumbView).then(function () {
12449          _this4.renderingQueue.renderView(thumbView);
12450        });
12451
12452        return true;
12453      }
12454
12455      return false;
12456    }
12457  }]);
12458
12459  return PDFThumbnailViewer;
12460}();
12461
12462exports.PDFThumbnailViewer = PDFThumbnailViewer;
12463
12464/***/ }),
12465/* 28 */
12466/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12467
12468
12469
12470Object.defineProperty(exports, "__esModule", ({
12471  value: true
12472}));
12473exports.TempImageFactory = exports.PDFThumbnailView = void 0;
12474
12475var _regenerator = _interopRequireDefault(__webpack_require__(4));
12476
12477var _ui_utils = __webpack_require__(6);
12478
12479var _pdfjsLib = __webpack_require__(7);
12480
12481var _pdf_rendering_queue = __webpack_require__(10);
12482
12483function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12484
12485function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12486
12487function _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."); }
12488
12489function _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); }
12490
12491function _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; }
12492
12493function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
12494
12495function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12496
12497function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
12497y { 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); } }
12498
12499function _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); }); }; }
12500
12501function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12502
12503function _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); } }
12504
12505function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
12506
12507var DRAW_UPSCALE_FACTOR = 2;
12508var MAX_NUM_SCALING_STEPS = 3;
12509var THUMBNAIL_CANVAS_BORDER_WIDTH = 1;
12510var THUMBNAIL_WIDTH = 98;
12511
12512var TempImageFactory = function TempImageFactoryClosure() {
12513  var tempCanvasCache = null;
12514  return {
12515    getCanvas: function getCanvas(width, height) {
12516      var tempCanvas = tempCanvasCache;
12517
12518      if (!tempCanvas) {
12519        tempCanvas = document.createElement("canvas");
12520        tempCanvasCache = tempCanvas;
12521      }
12522
12523      tempCanvas.width = width;
12524      tempCanvas.height = height;
12525      tempCanvas.mozOpaque = true;
12526      var ctx = tempCanvas.getContext("2d", {
12527        alpha: false
12528      });
12529      ctx.save();
12530      ctx.fillStyle = "rgb(255, 255, 255)";
12531      ctx.fillRect(0, 0, width, height);
12532      ctx.restore();
12533      return [tempCanvas, tempCanvas.getContext("2d")];
12534    },
12535    destroyCanvas: function destroyCanvas() {
12536      var tempCanvas = tempCanvasCache;
12537
12538      if (tempCanvas) {
12539        tempCanvas.width = 0;
12540        tempCanvas.height = 0;
12541      }
12542
12543      tempCanvasCache = null;
12544    }
12545  };
12546}();
12547
12548exports.TempImageFactory = TempImageFactory;
12549
12550var PDFThumbnailView = /*#__PURE__*/function () {
12551  function PDFThumbnailView(_ref) {
12552    var container = _ref.container,
12553        id = _ref.id,
12554        defaultViewport = _ref.defaultViewport,
12555        optionalContentConfigPromise = _ref.optionalContentConfigPromise,
12556        linkService = _ref.linkService,
12557        renderingQueue = _ref.renderingQueue,
12558        checkSetImageDisabled = _ref.checkSetImageDisabled,
12559        l10n = _ref.l10n;
12560
12561    _classCallCheck(this, PDFThumbnailView);
12562
12563    this.id = id;
12564    this.renderingId = "thumbnail" + id;
12565    this.pageLabel = null;
12566    this.pdfPage = null;
12567    this.rotation = 0;
12568    this.viewport = defaultViewport;
12569    this.pdfPageRotate = defaultViewport.rotation;
12570    this._optionalContentConfigPromise = optionalContentConfigPromise || null;
12571    this.linkService = linkService;
12572    this.renderingQueue = renderingQueue;
12573    this.renderTask = null;
12574    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
12575    this.resume = null;
12576
12577    this._checkSetImageDisabled = checkSetImageDisabled || function () {
12578      return false;
12579    };
12580
12581    var pageWidth = this.viewport.width,
12582        pageHeight = this.viewport.height,
12583        pageRatio = pageWidth / pageHeight;
12584    this.canvasWidth = THUMBNAIL_WIDTH;
12585    this.canvasHeight = this.canvasWidth / pageRatio | 0;
12586    this.scale = this.canvasWidth / pageWidth;
12587    this.l10n = l10n;
12588    var anchor = document.createElement("a");
12589    anchor.href = linkService.getAnchorUrl("#page=" + id);
12590
12591    this._thumbPageTitle.then(function (msg) {
12592      anchor.title = msg;
12593    });
12594
12595    anchor.onclick = function () {
12596      linkService.goToPage(id);
12597      return false;
12598    };
12599
12600    this.anchor = anchor;
12601    var div = document.createElement("div");
12602    div.className = "thumbnail";
12603    div.setAttribute("data-page-number", this.id);
12604    this.div = div;
12605    var ring = document.createElement("div");
12606    ring.className = "thumbnailSelectionRing";
12607    var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
12608    ring.style.width = this.canvasWidth + borderAdjustment + "px";
12609    ring.style.height = this.canvasHeight + borderAdjustment + "px";
12610    this.ring = ring;
12611    div.appendChild(ring);
12612    anchor.appendChild(div);
12613    container.appendChild(anchor);
12614  }
12615
12616  _createClass(PDFThumbnailView, [{
12617    key: "setPdfPage",
12618    value: function setPdfPage(pdfPage) {
12619      this.pdfPage = pdfPage;
12620      this.pdfPageRotate = pdfPage.rotate;
12621      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
12622      this.viewport = pdfPage.getViewport({
12623        scale: 1,
12624        rotation: totalRotation
12625      });
12626      this.reset();
12627    }
12628  }, {
12629    key: "reset",
12630    value: function reset() {
12631      this.cancelRendering();
12632      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
12633      var pageWidth = this.viewport.width,
12634          pageHeight = this.viewport.height,
12635          pageRatio = pageWidth / pageHeight;
12636      this.canvasHeight = this.canvasWidth / pageRatio | 0;
12637      this.scale = this.canvasWidth / pageWidth;
12638      this.div.removeAttribute("data-loaded");
12639      var ring = this.ring;
12640      ring.textContent = "";
12641      var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
12642      ring.style.width = this.canvasWidth + borderAdjustment + "px";
12643      ring.style.height = this.canvasHeight + borderAdjustment + "px";
12644
12645      if (this.canvas) {
12646        this.canvas.width = 0;
12647        this.canvas.height = 0;
12648        delete this.canvas;
12649      }
12650
12651      if (this.image) {
12652        this.image.removeAttribute("src");
12653        delete this.image;
12654      }
12655    }
12656  }, {
12657    key: "update",
12658    value: function update(rotation) {
12659      if (typeof rotation !== "undefined") {
12660        this.rotation = rotation;
12661      }
12662
12663      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
12664      this.viewport = this.viewport.clone({
12665        scale: 1,
12666        rotation: totalRotation
12667      });
12668      this.reset();
12669    }
12670  }, {
12671    key: "cancelRendering",
12672    value: function cancelRendering() {
12673      if (this.renderTask) {
12674        this.renderTask.cancel();
12675        this.renderTask = null;
12676      }
12677
12678      this.resume = null;
12679    }
12680  }, {
12681    key: "_getPageDrawContext",
12682    value: function _getPageDrawContext() {
12683      var upscaleFactor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
12684      var canvas = document.createElement("canvas");
12685      canvas.mozOpaque = true;
12686      var ctx = canvas.getContext("2d", {
12687        alpha: false
12688      });
12689      var outputScale = (0, _ui_utils.getOutputScale)(ctx);
12690      canvas.width = upscaleFactor * this.canvasWidth * outputScale.sx | 0;
12691      canvas.height = upscaleFactor * this.canvasHeight * outputScale.sy | 0;
12692      var transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;
12693      return {
12694        ctx: ctx,
12695        canvas: canvas,
12696        transform: transform
12697      };
12698    }
12699  }, {
12700    key: "_convertCanvasToImage",
12701    value: function _convertCanvasToImage(canvas) {
12702      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
12703        throw new Error("_convertCanvasToImage: Rendering has not finished.");
12704      }
12705
12706      var reducedCanvas = this._reduceImage(canvas);
12707
12708      var image = document.createElement("img");
12709      image.className = "thumbnailImage";
12710
12711      this._thumbPageCanvas.then(function (msg) {
12712        image.setAttribute("aria-label", msg);
12713      });
12714
12715      image.style.width = this.canvasWidth + "px";
12716      image.style.height = this.canvasHeight + "px";
12717      image.src = reducedCanvas.toDataURL();
12718      this.image = image;
12719      this.div.setAttribute("data-loaded", true);
12720      this.ring.appendChild(image);
12721      reducedCanvas.width = 0;
12722      reducedCanvas.height = 0;
12723    }
12724  }, {
12725    key: "draw",
12726    value: function draw() {
12727      var _this = this;
12728
12729      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
12730        console.error("Must be in new state before drawing");
12731        return Promise.resolve(undefined);
12732      }
12733
12734      var pdfPage = this.pdfPage;
12735
12736      if (!pdfPage) {
12737        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
12738        return Promise.reject(new Error("pdfPage is not loaded"));
12739      }
12740
12741      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
12742
12743      var finishRenderTask = /*#__PURE__*/function () {
12744        var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12745          var error,
12746              _args = arguments;
12747          return _regenerator["default"].wrap(function _callee$(_context) {
12748            while (1) {
12749              switch (_context.prev = _context.next) {
12750                case 0:
12751                  error = _args.length > 0 && _args[0] !== undefined ? _args[0] : null;
12752
12753                  if (renderTask === _this.renderTask) {
12754                    _this.renderTask = null;
12755                  }
12756
12757                  if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {
12758                    _context.next = 4;
12759                    break;
12760                  }
12761
12762                  return _context.abrupt("return");
12763
12764                case 4:
12765                  _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
12766
12767                  _this._convertCanvasToImage(canvas);
12768
12769                  if (!error) {
12770                    _context.next = 8;
12771                    break;
12772                  }
12773
12774                  throw error;
12775
12776                case 8:
12777                case "end":
12778                  return _context.stop();
12779              }
12780            }
12781          }, _callee);
12782        }));
12783
12784        return function finishRenderTask() {
12785          return _ref2.apply(this, arguments);
12786        };
12787      }();
12788
12789      var _this$_getPageDrawCon = this._getPageDrawContext(DRAW_UPSCALE_FACTOR),
12790          ctx = _this$_getPageDrawCon.ctx,
12791          canvas = _this$_getPageDrawCon.canvas,
12792          transform = _this$_getPageDrawCon.transform;
12793
12794      var drawViewport = this.viewport.clone({
12795        scale: DRAW_UPSCALE_FACTOR * this.scale
12796      });
12797
12798      var renderContinueCallback = function renderContinueCallback(cont) {
12799        if (!_this.renderingQueue.isHighestPriority(_this)) {
12800          _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;
12801
12802          _this.resume = function () {
12803            _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
12804            cont();
12805          };
12806
12807          return;
12808        }
12809
12810        cont();
12811      };
12812
12813      var renderContext = {
12814        canvasContext: ctx,
12815        transform: transform,
12816        viewport: drawViewport,
12817        optionalContentConfigPromise: this._optionalContentConfigPromise
12818      };
12819      var renderTask = this.renderTask = pdfPage.render(renderContext);
12820      renderTask.onContinue = renderContinueCallback;
12821      var resultPromise = renderTask.promise.then(function () {
12822        return finishRenderTask(null);
12823      }, function (error) {
12824        return finishRenderTask(error);
12825      });
12826      resultPromise["finally"](function () {
12827        canvas.width = 0;
12828        canvas.height = 0;
12829
12830        var pageCached = _this.linkService.isPageCached(_this.id);
12831
12832        if (!pageCached) {
12833          var _this$pdfPage;
12834
12835          (_this$pdfPage = _this.pdfPage) === null || _this$pdfPage === void 0 ? void 0 : _this$pdfPage.cleanup();
12836        }
12837      });
12838      return resultPromise;
12839    }
12840  }, {
12841    key: "setImage",
12842    value: function setImage(pageView) {
12843      if (this._checkSetImageDisabled()) {
12844        return;
12845      }
12846
12847      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
12848        return;
12849      }
12850
12851      var canvas = pageView.canvas,
12852          pdfPage = pageView.pdfPage;
12853
12854      if (!canvas) {
12855        return;
12856      }
12857
12858      if (!this.pdfPage) {
12859        this.setPdfPage(pdfPage);
12860      }
12861
12862      this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
12863
12864      this._convertCanvasToImage(canvas);
12865    }
12866  }, {
12867    key: "_reduceImage",
12868    value: function _reduceImage(img) {
12869      var _this$_getPageDrawCon2 = this._getPageDrawContext(),
12870          ctx = _this$_getPageDrawCon2.ctx,
12871          canvas = _this$_getPageDrawCon2.canvas;
12872
12873      if (img.width <= 2 * canvas.width) {
12874        ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height);
12875        return canvas;
12876      }
12877
12878      var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS;
12879      var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS;
12880
12881      var _TempImageFactory$get = TempImageFactory.getCanvas(reducedWidth, reducedHeight),
12882          _TempImageFactory$get2 = _slicedToArray(_TempImageFactory$get, 2),
12883          reducedImage = _TempImageFactory$get2[0],
12884          reducedImageCtx = _TempImageFactory$get2[1];
12885
12886      while (reducedWidth > img.width || reducedHeight > img.height) {
12887        reducedWidth >>= 1;
12888        reducedHeight >>= 1;
12889      }
12890
12891      reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight);
12892
12893      while (reducedWidth > 2 * canvas.width) {
12894        reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1);
12895        reducedWidth >>= 1;
12896        reducedHeight >>= 1;
12897      }
12898
12899      ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height);
12900      return canvas;
12901    }
12902  }, {
12903    key: "_thumbPageTitle",
12904    get: function get() {
12905      var _this$pageLabel;
12906
12907      return this.l10n.get("thumb_page_title", {
12908        page: (_this$pageLabel = this.pageLabel) !== null && _this$pageLabel !== void 0 ? _this$pageLabel : this.id
12909      });
12910    }
12911  }, {
12912    key: "_thumbPageCanvas",
12913    get: function get() {
12914      var _this$pageLabel2;
12915
12916      return this.l10n.get("thumb_page_canvas", {
12917        page: (_this$pageLabel2 = this.pageLabel) !== null && _this$pageLabel2 !== void 0 ? _this$pageLabel2 : this.id
12918      });
12919    }
12920  }, {
12921    key: "setPageLabel",
12922    value: function setPageLabel(label) {
12923      var _this2 = this;
12924
12925      this.pageLabel = typeof label === "string" ? label : null;
12926
12927      this._thumbPageTitle.then(function (msg) {
12928        _this2.anchor.title = msg;
12929      });
12930
12931      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
12932        return;
12933      }
12934
12935      this._thumbPageCanvas.then(function (msg) {
12936        var _this2$image;
12937
12938        (_this2$image = _this2.image) === null || _this2$image === void 0 ? void 0 : _this2$image.setAttribute("aria-label", msg);
12939      });
12940    }
12941  }]);
12942
12943  return PDFThumbnailView;
12944}();
12945
12946exports.PDFThumbnailView = PDFThumbnailView;
12947
12948/***/ }),
12949/* 29 */
12950/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12951
12952
12953
12954function _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); }
12955
12956Object.defineProperty(exports, "__esModule", ({
12957  value: true
12958}));
12959exports.PDFViewer = void 0;
12960
12961var _ui_utils = __webpack_require__(6);
12962
12963var _base_viewer = __webpack_require__(30);
12964
12965var _pdfjsLib = __webpack_require__(7);
12966
12967function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
12968
12969function _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); }
12970
12971function _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; }
12972
12973function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12974
12975function _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); } }
12976
12977function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
12978
12979function _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); }
12980
12981function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
12982
12983function _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, { c
12983onstructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
12984
12985function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12986
12987function _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); }; }
12988
12989function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
12990
12991function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
12992
12993function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12994
12995function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
12996
12997var PDFViewer = /*#__PURE__*/function (_BaseViewer) {
12998  _inherits(PDFViewer, _BaseViewer);
12999
13000  var _super = _createSuper(PDFViewer);
13001
13002  function PDFViewer() {
13003    _classCallCheck(this, PDFViewer);
13004
13005    return _super.apply(this, arguments);
13006  }
13007
13008  _createClass(PDFViewer, [{
13009    key: "_viewerElement",
13010    get: function get() {
13011      return (0, _pdfjsLib.shadow)(this, "_viewerElement", this.viewer);
13012    }
13013  }, {
13014    key: "_scrollIntoView",
13015    value: function _scrollIntoView(_ref) {
13016      var pageDiv = _ref.pageDiv,
13017          _ref$pageSpot = _ref.pageSpot,
13018          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
13019          _ref$pageNumber = _ref.pageNumber,
13020          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
13021
13022      if (!pageSpot && !this.isInPresentationMode) {
13023        var left = pageDiv.offsetLeft + pageDiv.clientLeft;
13024        var right = left + pageDiv.clientWidth;
13025        var _this$container = this.container,
13026            scrollLeft = _this$container.scrollLeft,
13027            clientWidth = _this$container.clientWidth;
13028
13029        if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
13030          pageSpot = {
13031            left: 0,
13032            top: 0
13033          };
13034        }
13035      }
13036
13037      _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, {
13038        pageDiv: pageDiv,
13039        pageSpot: pageSpot,
13040        pageNumber: pageNumber
13041      });
13042    }
13043  }, {
13044    key: "_getVisiblePages",
13045    value: function _getVisiblePages() {
13046      if (this.isInPresentationMode) {
13047        return this._getCurrentVisiblePage();
13048      }
13049
13050      return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this);
13051    }
13052  }, {
13053    key: "_updateHelper",
13054    value: function _updateHelper(visiblePages) {
13055      if (this.isInPresentationMode) {
13056        return;
13057      }
13058
13059      var currentId = this._currentPageNumber;
13060      var stillFullyVisible = false;
13061
13062      var _iterator = _createForOfIteratorHelper(visiblePages),
13063          _step;
13064
13065      try {
13066        for (_iterator.s(); !(_step = _iterator.n()).done;) {
13067          var page = _step.value;
13068
13069          if (page.percent < 100) {
13070            break;
13071          }
13072
13073          if (page.id === currentId && this._scrollMode === _ui_utils.ScrollMode.VERTICAL && this._spreadMode === _ui_utils.SpreadMode.NONE) {
13074            stillFullyVisible = true;
13075            break;
13076          }
13077        }
13078      } catch (err) {
13079        _iterator.e(err);
13080      } finally {
13081        _iterator.f();
13082      }
13083
13084      if (!stillFullyVisible) {
13085        currentId = visiblePages[0].id;
13086      }
13087
13088      this._setCurrentPageNumber(currentId);
13089    }
13090  }]);
13091
13092  return PDFViewer;
13093}(_base_viewer.BaseViewer);
13094
13095exports.PDFViewer = PDFViewer;
13096
13097/***/ }),
13098/* 30 */
13099/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13100
13101
13102
13103Object.defineProperty(exports, "__esModule", ({
13104  value: true
13105}));
13106exports.BaseViewer = void 0;
13107
13108var _pdfjsLib = __webpack_require__(7);
13109
13110var _ui_utils = __webpack_require__(6);
13111
13112var _pdf_rendering_queue = __webpack_require__(10);
13113
13114var _annotation_layer_builder = __webpack_require__(31);
13115
13116var _l10n_utils = __webpack_require__(32);
13117
13118var _pdf_page_view = __webpack_require__(33);
13119
13120var _pdf_link_service = __webpack_require__(21);
13121
13122var _struct_tree_layer_builder = __webpack_require__(34);
13123
13124var _text_layer_builder = __webpack_require__(35);
13125
13126var _xfa_layer_builder = __webpack_require__(36);
13127
13128function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
13129
13130function _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); }
13131
13132function _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; }
13133
13134function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13135
13136function _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); } }
13137
13138function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
13139
13140var DEFAULT_CACHE_SIZE = 10;
13141
13142function PDFPageViewBuffer(size) {
13143  var data = [];
13144
13145  this.push = function (view) {
13146    var i = data.indexOf(view);
13147
13148    if (i >= 0) {
13149      data.splice(i, 1);
13150    }
13151
13152    data.push(view);
13153
13154    if (data.length > size) {
13155      data.shift().destroy();
13156    }
13157  };
13158
13159  this.resize = function (newSize, pagesToKeep) {
13160    size = newSize;
13161
13162    if (pagesToKeep) {
13163      var pageIdsToKeep = new Set();
13164
13165      for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {
13166        pageIdsToKeep.add(pagesToKeep[i].id);
13167      }
13168
13169      (0, _ui_utils.moveToEndOfArray)(data, function (page) {
13170        return pageIdsToKeep.has(page.id);
13171      });
13172    }
13173
13174    while (data.length > size) {
13175      data.shift().destroy();
13176    }
13177  };
13178
13179  this.has = function (view) {
13180    return data.includes(view);
13181  };
13182}
13183
13184function isSameScale(oldScale, newScale) {
13185  if (newScale === oldScale) {
13186    return true;
13187  }
13188
13189  if (Math.abs(newScale - oldScale) < 1e-15) {
13190    return true;
13191  }
13192
13193  return false;
13194}
13195
13196var BaseViewer = /*#__PURE__*/function () {
13197  function BaseViewer(options) {
13198    var _this$container,
13199        _this$viewer,
13200        _this = this;
13201
13202    _classCallCheck(this, BaseViewer);
13203
13204    if (this.constructor === BaseViewer) {
13205      throw new Error("Cannot initialize BaseViewer.");
13206    }
13207
13208    var viewerVersion = '2.10.377';
13209
13210    if (_pdfjsLib.version !== viewerVersion) {
13211      throw new Error("The API version \"".concat(_pdfjsLib.version, "\" does not match the Viewer version \"").concat(viewerVersion, "\"."));
13212    }
13213
13214    this._name = this.constructor.name;
13215    this.container = options.container;
13216    this.viewer = options.viewer || options.container.firstElementChild;
13217
13218    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")) {
13219      throw new Error("Invalid `container` and/or `viewer` option.");
13220    }
13221
13222    if (this.container.offsetParent && getComputedStyle(this.container).position !== "absolute") {
13223      throw new Error("The `container` must be absolutely positioned.");
13224    }
13225
13226    this.eventBus = options.eventBus;
13227    this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
13228    this.downloadManager = options.downloadManager || null;
13229    this.findController = options.findController || null;
13230    this._scriptingManager = options.scriptingManager || null;
13231    this.removePageBorders = options.removePageBorders || false;
13232    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
13233    this.imageResourcesPath = options.imageResourcesPath || "";
13234    this.renderInteractiveForms = options.renderInteractiveForms !== false;
13235    this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
13236    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
13237    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
13238    this.maxCanvasPixels = options.maxCanvasPixels;
13239    this.l10n = options.l10n || _l10n_utils.NullL10n;
13240    this.enableScripting = options.enableScripting === true && !!this._scriptingManager;
13241    this.defaultRenderingQueue = !options.renderingQueue;
13242
13243    if (this.defaultRenderingQueue) {
13244      this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
13245      this.renderingQueue.setViewer(this);
13246    } else {
13247      this.renderingQueue = options.renderingQueue;
13248    }
13249
13250    this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));
13251    this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;
13252    this._onBeforeDraw = this._onAfterDraw = null;
13253
13254    this._resetView();
13255
13256    if (this.removePageBorders) {
13257      this.viewer.classList.add("removePageBorders");
13258    }
13259
13260    Promise.resolve().then(function () {
13261      _this.eventBus.dispatch("baseviewerinit", {
13262        source: _this
13263      });
13264    });
13265  }
13266
13267  _createClass(BaseViewer, [{
13268    key: "pagesCount",
13269    get: function get() {
13270      return this._pages.length;
13271    }
13272  }, {
13273    key: "getPageView",
13274    value: function getPageView(index) {
13275      return this._pages[index];
13276    }
13277  }, {
13278    key: "pageViewsReady",
13279    get: function get() {
13280      if (!this._pagesCapability.settled) {
13281        return false;
13282      }
13283
13284      return this._pages.every(function (pageView) {
13285        return pageView === null || pageView === void 0 ? void 0 : pageView.pdfPage;
13286      });
13287    }
13288  }, {
13289    key: "currentPageNumber",
13290    get: function get() {
13291      return this._currentPageNumber;
13292    },
13293    set: function set(val) {
13294      if (!Number.isInteger(val)) {
13295        throw new Error("Invalid page number.");
13296      }
13297
13298      if (!this.pdfDocument) {
13299        return;
13300      }
13301
13302      if (!this._setCurrentPageNumber(val, true)) {
13303        console.error("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid page."));
13304      }
13305    }
13306  }, {
13307    key: "_setCurrentPageNumber",
13308    value: function _setCurrentPageNumber(val) {
13309      var _this$_pageLabels, _this$_pageLabels2;
13310
13311      var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
13312
13313      if (this._currentPageNumber === val) {
13314        if (resetCurrentPageView) {
13315          this._resetCurrentPageView();
13316        }
13317
13318        return true;
13319      }
13320
13321      if (!(0 < val && val <= this.pagesCount)) {
13322        return false;
13323      }
13324
13325      var previous = this._currentPageNumber;
13326      this._currentPageNumber = val;
13327      this.eventBus.dispatch("pagechanging", {
13328        source: this,
13329        pageNumber: val,
13330        pageLabel: (_this$_pageLabels = (_this$_pageLabels2 = this._pageLabels) === null || _this$_pageLabels2 === void 0 ? void 0 : _this$_pageLabels2[val - 1]) !== null && _this$_pageLabels !== void 0 ? _this$_pageLabels : null,
13331        previous: previous
13332      });
13333
13334      if (resetCurrentPageView) {
13335        this._resetCurrentPageView();
13336      }
13337
13338      return true;
13339    }
13340  }, {
13341    key: "currentPageLabel",
13342    get: function get() {
13343      var _this$_pageLabels3, _this$_pageLabels4;
13344
13345      return (_this$_pageLabels3 = (_this$_pageLabels4 = this._pageLabels) === null || _this$_pageLabels4 === void 0 ? void 0 : _this$_pageLabels4[this._currentPageNumber - 1]) !== null && _this$_pageLabels3 !== void 0 ? _this$_pageLabels3 : null;
13346    },
13347    set: function set(val) {
13348      if (!this.pdfDocument) {
13349        return;
13350      }
13351
13352      var page = val | 0;
13353
13354      if (this._pageLabels) {
13355        var i = this._pageLabels.indexOf(val);
13356
13357        if (i >= 0) {
13358          page = i + 1;
13359        }
13360      }
13361
13362      if (!this._setCurrentPageNumber(page, true)) {
13363        console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page."));
13364      }
13365    }
13366  }, {
13367    key: "currentScale",
13368    get: function get() {
13369      return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;
13370    },
13371    set: function set(val) {
13372      if (isNaN(val)) {
13373        throw new Error("Invalid numeric scale.");
13374      }
13375
13376      if (!this.pdfDocument) {
13377        return;
13378      }
13379
13380      this._setScale(val, false);
13381    }
13382  }, {
13383    key: "currentScaleValue",
13384    get: function get() {
13385      return this._currentScaleValue;
13386    },
13387    set: function set(val) {
13388      if (!this.pdfDocument) {
13389        return;
13390      }
13391
13392      this._setScale(val, false);
13393    }
13394  }, {
13395    key: "pagesRotation",
13396    get: function get() {
13397      return this._pagesRotation;
13398    },
13399    set: function set(rotation) {
13400      if (!(0, _ui_utils.isValidRotation)(rotation)) {
13401        throw new Error("Invalid pages rotation angle.");
13402      }
13403
13404      if (!this.pdfDocument) {
13405        return;
13406      }
13407
13408      rotation %= 360;
13409
13410      if (rotation < 0) {
13411        rotation += 360;
13412      }
13413
13414      if (this._pagesRotation === rotation) {
13415        return;
13416      }
13417
13418      this._pagesRotation = rotation;
13419      var pageNumber = this._currentPageNumber;
13420
13421      for (var i = 0, ii = this._pages.length; i < ii; i++) {
13422        var pageView = this._pages[i];
13423        pageView.update(pageView.scale, rotation);
13424      }
13425
13426      if (this._currentScaleValue) {
13427        this._setScale(this._currentScaleValue, true);
13428      }
13429
13430      this.eventBus.dispatch("rotationchanging", {
13431        source: this,
13432        pagesRotation: rotation,
13433        pageNumber: pageNumber
13434      });
13435
13436      if (this.defaultRenderingQueue) {
13437        this.update();
13438      }
13439    }
13440  }, {
13441    key: "firstPagePromise",
13442    get: function get() {
13443      return this.pdfDocument ? this._firstPageCapability.promise : null;
13444    }
13445  }, {
13446    key: "onePageRendered",
13447    get: function get() {
13448      return this.pdfDocument ? this._onePageRenderedCapability.promise : null;
13449    }
13450  }, {
13451    key: "pagesPromise",
13452    get: function get() {
13453      return this.pdfDocument ? this._pagesCapability.promise : null;
13454    }
13455  }, {
13456    key: "_viewerElement",
13457    get: function get() {
13458      throw new Error("Not implemented: _viewerElement");
13459    }
13460  }, {
13461    key: "_onePageRenderedOrForceFetch",
13462    value: function _onePageRenderedOrForceFetch() {
13463      if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {
13464        return Promise.resolve();
13465      }
13466
13467      return this._onePageRenderedCapability.promise;
13468    }
13469  }, {
13470    key: "setDocument",
13471    value: function setDocument(pdfDocument) {
13472      var _this2 = this;
13473
13474      if (this.pdfDocument) {
13475        this.eventBus.dispatch("pagesdestroy", {
13476          source: this
13477        });
13478
13479        this._cancelRendering();
13480
13481        this._resetView();
13482
13483        if (this.findController) {
13484          this.findController.setDocument(null);
13485        }
13486
13487        if (this._scriptingManager) {
13488          this._scriptingManager.setDocument(null);
13489        }
13490      }
13491
13492      this.pdfDocument = pdfDocument;
13493
13494      if (!pdfDocument) {
13495        return;
13496      }
13497
13498      var isPureXfa = pdfDocument.isPureXfa;
13499      var pagesCount = pdfDocument.numPages;
13500      var firstPagePromise = pdfDocument.getPage(1);
13501      var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
13502
13503      this._pagesCapability.promise.then(function () {
13504        _this2.eventBus.dispatch("pagesloaded", {
13505          source: _this2,
13506          pagesCount: pagesCount
13507        });
13508      });
13509
13510      this._onBeforeDraw = function (evt) {
13511        var pageView = _this2._pages[evt.pageNumber - 1];
13512
13513        if (!pageView) {
13514          return;
13515        }
13516
13517        _this2._buffer.push(pageView);
13518      };
13519
13520      this.eventBus._on("pagerender", this._onBeforeDraw);
13521
13522      this._onAfterDraw = function (evt) {
13523        if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {
13524          return;
13525        }
13526
13527        _this2._onePageRenderedCapability.resolve();
13528
13529        _this2.eventBus._off("pagerendered", _this2._onAfterDraw);
13530
13531        _this2._onAfterDraw = null;
13532      };
13533
13534      this.eventBus._on("pagerendered", this._onAfterDraw);
13535
13536      firstPagePromise.then(function (firstPdfPage) {
13537        _this2._firstPageCapability.resolve(firstPdfPage);
13538
13539        _this2._optionalContentConfigPromise = optionalContentConfigPromise;
13540        var scale = _this2.currentScale;
13541        var viewport = firstPdfPage.getViewport({
13542          scale: scale * _ui_utils.CSS_UNITS
13543        });
13544        var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;
13545        var xfaLayerFactory = isPureXfa ? _this2 : null;
13546
13547        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
13548          var pageView = new _pdf_page_view.PDFPageView({
13549            container: _this2._viewerElement,
13550            eventBus: _this2.eventBus,
13551            id: pageNum,
13552            scale: scale,
13553            defaultViewport: viewport.clone(),
13554            optionalContentConfigPromise: optionalContentConfigPromise,
13555            renderingQueue: _this2.renderingQueue,
13556            textLayerFactory: textLayerFactory,
13557            textLayerMode: _this2.textLayerMode,
13558            annotationLayerFactory: _this2,
13559            xfaLayerFactory: xfaLayerFactory,
13560            structTreeLayerFactory: _this2,
13561            imageResourcesPath: _this2.imageResourcesPath,
13562            renderInteractiveForms: _this2.renderInteractiveForms,
13563            renderer: _this2.renderer,
13564            useOnlyCssZoom: _this2.useOnlyCssZoom,
13565            maxCanvasPixels: _this2.maxCanvasPixels,
13566            l10n: _this2.l10n
13567          });
13568
13569          _this2._pages.push(pageView);
13570        }
13571
13572        var firstPageView = _this2._pages[0];
13573
13574        if (firstPageView) {
13575          firstPageView.setPdfPage(firstPdfPage);
13576
13577          _this2.linkService.cachePageRef(1, firstPdfPage.ref);
13578        }
13579
13580        if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {
13581          _this2._updateSpreadMode();
13582        }
13583
13584        _this2._onePageRenderedOrForceFetch().then(function () {
13585          if (_this2.findController) {
13586            _this2.findController.setDocument(pdfDocument);
13587          }
13588
13589          if (_this2.enableScripting) {
13590            _this2._scriptingManager.setDocument(pdfDocument);
13591          }
13592
13593          if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {
13594            _this2._pagesCapability.resolve();
13595
13596            return;
13597          }
13598
13599          var getPagesLeft = pagesCount - 1;
13600
13601          if (getPagesLeft <= 0) {
13602            _this2._pagesCapability.resolve();
13603
13604            return;
13605          }
13606
13607          var _loop = function _loop(_pageNum) {
13608            pdfDocument.getPage(_pageNum).then(function (pdfPage) {
13609              var pageView = _this2._pages[_pageNum - 1];
13610
13611              if (!pageView.pdfPage) {
13612                pageView.setPdfPage(pdfPage);
13613              }
13614
13615              _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);
13616
13617              if (--getPagesLeft === 0) {
13618                _this2._pagesCapability.resolve();
13619              }
13620            }, function (reason) {
13621              console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason);
13622
13623              if (--getPagesLeft === 0) {
13624                _this2._pagesCapability.resolve();
13625              }
13626            });
13627          };
13628
13629          for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {
13630            _loop(_pageNum);
13631          }
13632        });
13633
13634        _this2.eventBus.dispatch("pagesinit", {
13635          source: _this2
13636        });
13637
13638        if (_this2.defaultRenderingQueue) {
13639          _this2.update();
13640        }
13641      })["catch"](function (reason) {
13642        console.error("Unable to initialize viewer", reason);
13643      });
13644    }
13645  }, {
13646    key: "setPageLabels",
13647    value: function setPageLabels(labels) {
13648      if (!this.pdfDocument) {
13649        return;
13650      }
13651
13652      if (!labels) {
13653        this._pageLabels = null;
13654      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
13655        this._pageLabels = null;
13656        console.error("".concat(this._name, ".setPageLabels: Invalid page labels."));
13657      } else {
13658        this._pageLabels = labels;
13659      }
13660
13661      for (var i = 0, ii = this._pages.length; i < ii; i++) {
13662        var _this$_pageLabels$i, _this$_pageLabels5;
13663
13664        this._pages[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels5 = this._pageLabels) === null || _this$_pageLabels5 === void 0 ? void 0 : _this$_pageLabels5[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null);
13665      }
13666    }
13667  }, {
13668    key: "_resetView",
13669    value: function _resetView() {
13670      this._pages = [];
13671      this._currentPageNumber = 1;
13672      this._currentScale = _ui_utils.UNKNOWN_SCALE;
13673      this._currentScaleValue = null;
13674      this._pageLabels = null;
13675      this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);
13676      this._location = null;
13677      this._pagesRotation = 0;
13678      this._optionalContentConfigPromise = null;
13679      this._pagesRequests = new WeakMap();
13680      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
13681      this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
13682      this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();
13683      this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
13684      this._spreadMode = _ui_utils.SpreadMode.NONE;
13685
13686      if (this._onBeforeDraw) {
13687        this.eventBus._off("pagerender", this._onBeforeDraw);
13688
13689        this._onBeforeDraw = null;
13690      }
13691
13692      if (this._onAfterDraw) {
13693        this.eventBus._off("pagerendered", this._onAfterDraw);
13694
13695        this._onAfterDraw = null;
13696      }
13697
13698      this.viewer.textContent = "";
13699
13700      this._updateScrollMode();
13701    }
13702  }, {
13703    key: "_scrollUpdate",
13704    value: function _scrollUpdate() {
13705      if (this.pagesCount === 0) {
13706        return;
13707      }
13708
13709      this.update();
13710    }
13711  }, {
13712    key: "_scrollIntoView",
13713    value: function _scrollIntoView(_ref) {
13714      var pageDiv = _ref.pageDiv,
13715          _ref$pageSpot = _ref.pageSpot,
13716          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
13717          _ref$pageNumber = _ref.pageNumber,
13718          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
13719      (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
13720    }
13721  }, {
13722    key: "_setScaleUpdatePages",
13723    value: function _setScaleUpdatePages(newScale, newValue) {
13724      var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
13725      var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
13726      this._currentScaleValue = newValue.toString();
13727
13728      if (isSameScale(this._currentScale, newScale)) {
13729        if (preset) {
13730          this.eventBus.dispatch("scalechanging", {
13731            source: this,
13732            scale: newScale,
13733            presetValue: newValue
13734          });
13735        }
13736
13737        return;
13738      }
13739
13740      for (var i = 0, ii = this._pages.length; i < ii; i++) {
13741        this._pages[i].update(newScale);
13742      }
13743
13744      this._currentScale = newScale;
13745
13746      if (!noScroll) {
13747        var page = this._currentPageNumber,
13748            dest;
13749
13750        if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
13751          page = this._location.pageNumber;
13752          dest = [null, {
13753            name: "XYZ"
13754          }, this._location.left, this._location.top, null];
13755        }
13756
13757        this.scrollPageIntoView({
13758          pageNumber: page,
13759          destArray: dest,
13760          allowNegativeOffset: true
13761        });
13762      }
13763
13764      this.eventBus.dispatch("scalechanging", {
13765        source: this,
13766        scale: newScale,
13767        presetValue: preset ? newValue : undefined
13768      });
13769
13770      if (this.defaultRenderingQueue) {
13771        this.update();
13772      }
13773    }
13774  }, {
13775    key: "_pageWidthScaleFactor",
13776    get: function get() {
13777      if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL && !this.isInPresentationMode) {
13778        return 2;
13779      }
13780
13781      return 1;
13782    }
13783  }, {
13784    key: "_setScale",
13785    value: function _setScale(value) {
13786      var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
13787      var scale = parseFloat(value);
13788
13789      if (scale > 0) {
13790        this._setScaleUpdatePages(scale, value, noScroll, false);
13791      } else {
13792        var currentPage = this._pages[this._currentPageNumber - 1];
13793
13794        if (!currentPage) {
13795          return;
13796        }
13797
13798        var noPadding = this.isInPresentationMode || this.removePageBorders;
13799        var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;
13800        var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;
13801
13802        if (!noPadding && this._isScrollModeHorizontal) {
13803          var _ref2 = [vPadding, hPadding];
13804          hPadding = _ref2[0];
13805          vPadding = _ref2[1];
13806        }
13807
13808        var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor;
13809        var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;
13810
13811        switch (value) {
13812          case "page-actual":
13813            scale = 1;
13814            break;
13815
13816          case "page-width":
13817            scale = pageWidthScale;
13818            break;
13819
13820          case "page-height":
13821            scale = pageHeightScale;
13822            break;
13823
13824          case "page-fit":
13825            scale = Math.min(pageWidthScale, pageHeightScale);
13826            break;
13827
13828          case "auto":
13829            var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);
13830            scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);
13831            break;
13832
13833          default:
13834            console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom value."));
13835            return;
13836        }
13837
13838        this._setScaleUpdatePages(scale, value, noScroll, true);
13839      }
13840    }
13841  }, {
13842    key: "_resetCurrentPageView",
13843    value: function _resetCurrentPageView() {
13844      if (this.isInPresentationMode) {
13845        this._setScale(this._currentScaleValue, true);
13846      }
13847
13848      var pageView = this._pages[this._currentPageNumber - 1];
13849
13850      this._scrollIntoView({
13851        pageDiv: pageView.div
13852      });
13853    }
13854  }, {
13855    key: "pageLabelToPageNumber",
13856    value: function pageLabelToPageNumber(label) {
13857      if (!this._pageLabels) {
13858        return null;
13859      }
13860
13861      var i = this._pageLabels.indexOf(label);
13862
13863      if (i < 0) {
13864        return null;
13865      }
13866
13867      return i + 1;
13868    }
13869  }, {
13870    key: "scrollPageIntoView",
13871    value: function scrollPageIntoView(_ref3) {
13872      var pageNumber = _ref3.pageNumber,
13873          _ref3$destArray = _ref3.destArray,
13874          destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,
13875          _ref3$allowNegativeOf = _ref3.allowNegativeOffset,
13876          allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,
13877          _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,
13878          ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;
13879
13880      if (!this.pdfDocument) {
13881        return;
13882      }
13883
13884      var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];
13885
13886      if (!pageView) {
13887        console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
13888        return;
13889      }
13890
13891      if (this.isInPresentationMode || !destArray) {
13892        this._setCurrentPageNumber(pageNumber, true);
13893
13894        return;
13895      }
13896
13897      var x = 0,
13898          y = 0;
13899      var width = 0,
13900          height = 0,
13901          widthScale,
13902          heightScale;
13903      var changeOrientation = pageView.rotation % 180 !== 0;
13904      var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;
13905      var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;
13906      var scale = 0;
13907
13908      switch (destArray[1].name) {
13909        case "XYZ":
13910          x = destArray[2];
13911          y = destArray[3];
13912          scale = destArray[4];
13913          x = x !== null ? x : 0;
13914          y = y !== null ? y : pageHeight;
13915          break;
13916
13917        case "Fit":
13918        case "FitB":
13919          scale = "page-fit";
13920          break;
13921
13922        case "FitH":
13923        case "FitBH":
13924          y = destArray[2];
13925          scale = "page-width";
13926
13927          if (y === null && this._location) {
13928            x = this._location.left;
13929            y = this._location.top;
13930          } else if (typeof y !== "number") {
13931            y = pageHeight;
13932          }
13933
13934          break;
13935
13936        case "FitV":
13937        case "FitBV":
13938          x = destArray[2];
13939          width = pageWidth;
13940          height = pageHeight;
13941          scale = "page-height";
13942          break;
13943
13944        case "FitR":
13945          x = destArray[2];
13946          y = destArray[3];
13947          width = destArray[4] - x;
13948          height = destArray[5] - y;
13949          var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;
13950          var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;
13951          widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;
13952          heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;
13953          scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
13954          break;
13955
13956        default:
13957          console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" is not a valid destination type."));
13958          return;
13959      }
13960
13961      if (!ignoreDestinationZoom) {
13962        if (scale && scale !== this._currentScale) {
13963          this.currentScaleValue = scale;
13964        } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {
13965          this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
13966        }
13967      }
13968
13969      if (scale === "page-fit" && !destArray[4]) {
13970        this._scrollIntoView({
13971          pageDiv: pageView.div,
13972          pageNumber: pageNumber
13973        });
13974
13975        return;
13976      }
13977
13978      var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];
13979      var left = Math.min(boundingRect[0][0], boundingRect[1][0]);
13980      var top = Math.min(boundingRect[0][1], boundingRect[1][1]);
13981
13982      if (!allowNegativeOffset) {
13983        left = Math.max(left, 0);
13984        top = Math.max(top, 0);
13985      }
13986
13987      this._scrollIntoView({
13988        pageDiv: pageView.div,
13989        pageSpot: {
13990          left: left,
13991          top: top
13992        },
13993        pageNumber: pageNumber
13994      });
13995    }
13996  }, {
13997    key: "_updateLocation",
13998    value: function _updateLocation(firstPage) {
13999      var currentScale = this._currentScale;
14000      var currentScaleValue = this._currentScaleValue;
14001      var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;
14002      var pageNumber = firstPage.id;
14003      var pdfOpenParams = "#page=" + pageNumber;
14004      pdfOpenParams += "&zoom=" + normalizedScaleValue;
14005      var currentPageView = this._pages[pageNumber - 1];
14006      var container = this.container;
14007      var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);
14008      var intLeft = Math.round(topLeft[0]);
14009      var intTop = Math.round(topLeft[1]);
14010      pdfOpenParams += "," + intLeft + "," + intTop;
14011      this._location = {
14012        pageNumber: pageNumber,
14013        scale: normalizedScaleValue,
14014        top: intTop,
14015        left: intLeft,
14016        rotation: this._pagesRotation,
14017        pdfOpenParams: pdfOpenParams
14018      };
14019    }
14020  }, {
14021    key: "_updateHelper",
14022    value: function _updateHelper(visiblePages) {
14023      throw new Error("Not implemented: _updateHelper");
14024    }
14025  }, {
14026    key: "update",
14027    value: function update() {
14028      var visible = this._getVisiblePages();
14029
14030      var visiblePages = visible.views,
14031          numVisiblePages = visiblePages.length;
14032
14033      if (numVisiblePages === 0) {
14034        return;
14035      }
14036
14037      var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);
14038
14039      this._buffer.resize(newCacheSize, visiblePages);
14040
14041      this.renderingQueue.renderHighestPriority(visible);
14042
14043      this._updateHelper(visiblePages);
14044
14045      this._updateLocation(visible.first);
14046
14047      this.eventBus.dispatch("updateviewarea", {
14048        source: this,
14049        location: this._location
14050      });
14051    }
14052  }, {
14053    key: "containsElement",
14054    value: function containsElement(element) {
14055      return this.container.contains(element);
14056    }
14057  }, {
14058    key: "focus",
14059    value: function focus() {
14060      this.container.focus();
14061    }
14062  }, {
14063    key: "_isScrollModeHorizontal",
14064    get: function get() {
14065      return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;
14066    }
14067  }, {
14068    key: "_isContainerRtl",
14069    get: function get() {
14070      return getComputedStyle(this.container).direction === "rtl";
14071    }
14072  }, {
14073    key: "isInPresentationMode",
14074    get: function get() {
14075      return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;
14076    }
14077  }, {
14078    key: "isChangingPresentationMode",
14079    get: function get() {
14080      return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;
14081    }
14082  }, {
14083    key: "isHorizontalScrollbarEnabled",
14084    get: function get() {
14085      return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
14086    }
14087  }, {
14088    key: "isVerticalScrollbarEnabled",
14089    get: function get() {
14090      return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
14091    }
14092  }, {
14093    key: "_getCurrentVisiblePage",
14094    value: function _getCurrentVisiblePage() {
14095      if (!this.pagesCount) {
14096        return {
14097          views: []
14098        };
14099      }
14100
14101      var pageView = this._pages[this._currentPageNumber - 1];
14102      var element = pageView.div;
14103      var view = {
14104        id: pageView.id,
14105        x: element.offsetLeft + element.clientLeft,
14106        y: element.offsetTop + element.clientTop,
14107        view: pageView
14108      };
14109      return {
14110        first: view,
14111        last: view,
14112        views: [view]
14113      };
14114    }
14115  }, {
14116    key: "_getVisiblePages",
14117    value: function _getVisiblePages() {
14118      return (0, _ui_utils.getVisibleElements)({
14119        scrollEl: this.container,
14120        views: this._pages,
14121        sortByVisibility: true,
14122        horizontal: this._isScrollModeHorizontal,
14123        rtl: this._isScrollModeHorizontal && this._isContainerRtl
14124      });
14125    }
14126  }, {
14127    key: "isPageVisible",
14128    value: function isPageVisible(pageNumber) {
14129      if (!this.pdfDocument) {
14130        return false;
14131      }
14132
14133      if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
14134        console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is not a valid page."));
14135        return false;
14136      }
14137
14138      return this._getVisiblePages().views.some(function (view) {
14139        return view.id === pageNumber;
14140      });
14141    }
14142  }, {
14143    key: "isPageCached",
14144    value: function isPageCached(pageNumber) {
14145      if (!this.pdfDocument || !this._buffer) {
14146        return false;
14147      }
14148
14149      if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
14150        console.error("".concat(this._name, ".isPageCached: \"").concat(pageNumber, "\" is not a valid page."));
14151        return false;
14152      }
14153
14154      var pageView = this._pages[pageNumber - 1];
14155
14156      if (!pageView) {
14157        return false;
14158      }
14159
14160      return this._buffer.has(pageView);
14161    }
14162  }, {
14163    key: "cleanup",
14164    value: function cleanup() {
14165      for (var i = 0, ii = this._pages.length; i < ii; i++) {
14166        if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
14167          this._pages[i].reset();
14168        }
14169      }
14170    }
14171  }, {
14172    key: "_cancelRendering",
14173    value: function _cancelRendering() {
14174      for (var i = 0, ii = this._pages.length; i < ii; i++) {
14175        if (this._pages[i]) {
14176          this._pages[i].cancelRendering();
14177        }
14178      }
14179    }
14180  }, {
14181    key: "_ensurePdfPageLoaded",
14182    value: function _ensurePdfPageLoaded(pageView) {
14183      var _this3 = this;
14184
14185      if (pageView.pdfPage) {
14186        return Promise.resolve(pageView.pdfPage);
14187      }
14188
14189      if (this._pagesRequests.has(pageView)) {
14190        return this._pagesRequests.get(pageView);
14191      }
14192
14193      var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {
14194        if (!pageView.pdfPage) {
14195          pageView.setPdfPage(pdfPage);
14196        }
14197
14198        _this3._pagesRequests["delete"](pageView);
14199
14200        return pdfPage;
14201      })["catch"](function (reason) {
14202        console.error("Unable to get page for page view", reason);
14203
14204        _this3._pagesRequests["delete"](pageView);
14205      });
14206
14207      this._pagesRequests.set(pageView, promise);
14208
14209      return promise;
14210    }
14211  }, {
14212    key: "forceRendering",
14213    value: function forceRendering(currentlyVisiblePages) {
14214      var _this4 = this;
14215
14216      var visiblePages = currentlyVisiblePages || this._getVisiblePages();
14217
14218      var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;
14219      var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);
14220
14221      if (pageView) {
14222        this._ensurePdfPageLoaded(pageView).then(function () {
14223          _this4.renderingQueue.renderView(pageView);
14224        });
14225
14226        return true;
14227      }
14228
14229      return false;
14230    }
14231  }, {
14232    key: "createTextLayerBuilder",
14233    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
14234      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
14235      var eventBus = arguments.length > 4 ? arguments[4] : undefined;
14236      return new _text_layer_builder.TextLayerBuilder({
14237        textLayerDiv: textLayerDiv,
14238        eventBus: eventBus,
14239        pageIndex: pageIndex,
14240        viewport: viewport,
14241        findController: this.isInPresentationMode ? null : this.findController,
14242        enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection
14243      });
14244    }
14245  }, {
14246    key: "createAnnotationLayerBuilder",
14247    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
14248      var _this$pdfDocument, _this$pdfDocument2, _this$_scriptingManag;
14249
14250      var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
14251      var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
14252      var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
14253      var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n;
14254      var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
14255      var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
14256      var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;
14257      return new _annotation_layer_builder.AnnotationLayerBuilder({
14258        pageDiv: pageDiv,
14259        pdfPage: pdfPage,
14260        annotationStorage: annotationStorage || ((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage),
14261        imageResourcesPath: imageResourcesPath,
14262        renderInteractiveForms: renderInteractiveForms,
14263        linkService: this.linkService,
14264        downloadManager: this.downloadManager,
14265        l10n: l10n,
14266        enableScripting: enableScripting !== null && enableScripting !== void 0 ? enableScripting : this.enableScripting,
14267        hasJSActionsPromise: hasJSActionsPromise || ((_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.hasJSActions()),
14268        mouseState: mouseState || ((_this$_scriptingManag = this._scriptingManager) === null || _this$_scriptingManag === void 0 ? void 0 : _this$_scriptingManag.mouseState)
14269      });
14270    }
14271  }, {
14272    key: "createXfaLayerBuilder",
14273    value: function createXfaLayerBuilder(pageDiv, pdfPage) {
14274      var _this$pdfDocument3;
14275
14276      var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
14277      return new _xfa_layer_builder.XfaLayerBuilder({
14278        pageDiv: pageDiv,
14279        pdfPage: pdfPage,
14280        annotationStorage: annotationStorage || ((_this$pdfDocument3 = this.pdfDocument) === null || _this$pdfDocument3 === void 0 ? void 0 : _this$pdfDocument3.annotationStorage)
14281      });
14282    }
14283  }, {
14284    key: "createStructTreeLayerBuilder",
14285    value: function createStructTreeLayerBuilder(pdfPage) {
14286      return new _struct_tree_layer_builder.StructTreeLayerBuilder({
14287        pdfPage: pdfPage
14288      });
14289    }
14290  }, {
14291    key: "hasEqualPageSizes",
14292    get: function get() {
14293      var firstPageView = this._pages[0];
14294
14295      for (var i = 1, ii = this._pages.length; i < ii; ++i) {
14296        var pageView = this._pages[i];
14297
14298        if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
14299          return false;
14300        }
14301      }
14302
14303      return true;
14304    }
14305  }, {
14306    key: "getPagesOverview",
14307    value: function getPagesOverview() {
14308      var _this5 = this;
14309
14310      return this._pages.map(function (pageView) {
14311        var viewport = pageView.pdfPage.getViewport({
14312          scale: 1
14313        });
14314
14315        if (!_this5.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) {
14316          return {
14317            width: viewport.width,
14318            height: viewport.height,
14319            rotation: viewport.rotation
14320          };
14321        }
14322
14323        return {
14324          width: viewport.height,
14325          height: viewport.width,
14326          rotation: (viewport.rotation - 90) % 360
14327        };
14328      });
14329    }
14330  }, {
14331    key: "optionalContentConfigPromise",
14332    get: function get() {
14333      if (!this.pdfDocument) {
14334        return Promise.resolve(null);
14335      }
14336
14337      if (!this._optionalContentConfigPromise) {
14338        return this.pdfDocument.getOptionalContentConfig();
14339      }
14340
14341      return this._optionalContentConfigPromise;
14342    },
14343    set: function set(promise) {
14344      if (!(promise instanceof Promise)) {
14345        throw new Error("Invalid optionalContentConfigPromise: ".concat(promise));
14346      }
14347
14348      if (!this.pdfDocument) {
14349        return;
14350      }
14351
14352      if (!this._optionalContentConfigPromise) {
14353        return;
14354      }
14355
14356      this._optionalContentConfigPromise = promise;
14357
14358      var _iterator = _createForOfIteratorHelper(this._pages),
14359          _step;
14360
14361      try {
14362        for (_iterator.s(); !(_step = _iterator.n()).done;) {
14363          var pageView = _step.value;
14364          pageView.update(pageView.scale, pageView.rotation, promise);
14365        }
14366      } catch (err) {
14367        _iterator.e(err);
14368      } finally {
14369        _iterator.f();
14370      }
14371
14372      this.update();
14373      this.eventBus.dispatch("optionalcontentconfigchanged", {
14374        source: this,
14375        promise: promise
14376      });
14377    }
14378  }, {
14379    key: "scrollMode",
14380    get: function get() {
14381      return this._scrollMode;
14382    },
14383    set: function set(mode) {
14384      if (this._scrollMode === mode) {
14385        return;
14386      }
14387
14388      if (!(0, _ui_utils.isValidScrollMode)(mode)) {
14389        throw new Error("Invalid scroll mode: ".concat(mode));
14390      }
14391
14392      this._scrollMode = mode;
14393      this.eventBus.dispatch("scrollmodechanged", {
14394        source: this,
14395        mode: mode
14396      });
14397
14398      this._updateScrollMode(this._currentPageNumber);
14399    }
14400  }, {
14401    key: "_updateScrollMode",
14402    value: function _updateScrollMode() {
14403      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
14404      var scrollMode = this._scrollMode,
14405          viewer = this.viewer;
14406      viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);
14407      viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED);
14408
14409      if (!this.pdfDocument || !pageNumber) {
14410        return;
14411      }
14412
14413      if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
14414        this._setScale(this._currentScaleValue, true);
14415      }
14416
14417      this._setCurrentPageNumber(pageNumber, true);
14418
14419      this.update();
14420    }
14421  }, {
14422    key: "spreadMode",
14423    get: function get() {
14424      return this._spreadMode;
14425    },
14426    set: function set(mode) {
14427      if (this._spreadMode === mode) {
14428        return;
14429      }
14430
14431      if (!(0, _ui_utils.isValidSpreadMode)(mode)) {
14432        throw new Error("Invalid spread mode: ".concat(mode));
14433      }
14434
14435      this._spreadMode = mode;
14436      this.eventBus.dispatch("spreadmodechanged", {
14437        source: this,
14438        mode: mode
14439      });
14440
14441      this._updateSpreadMode(this._currentPageNumber);
14442    }
14443  }, {
14444    key: "_updateSpreadMode",
14445    value: function _updateSpreadMode() {
14446      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
14447
14448      if (!this.pdfDocument) {
14449        return;
14450      }
14451
14452      var viewer = this.viewer,
14453          pages = this._pages;
14454      viewer.textContent = "";
14455
14456      if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
14457        for (var i = 0, iMax = pages.length; i < iMax; ++i) {
14458          viewer.appendChild(pages[i].div);
14459        }
14460      } else {
14461        var parity = this._spreadMode - 1;
14462        var spread = null;
14463
14464        for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {
14465          if (spread === null) {
14466            spread = document.createElement("div");
14467            spread.className = "spread";
14468            viewer.appendChild(spread);
14469          } else if (_i % 2 === parity) {
14470            spread = spread.cloneNode(false);
14471            viewer.appendChild(spread);
14472          }
14473
14474          spread.appendChild(pages[_i].div);
14475        }
14476      }
14477
14478      if (!pageNumber) {
14479        return;
14480      }
14481
14482      if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
14483        this._setScale(this._currentScaleValue, true);
14484      }
14485
14486      this._setCurrentPageNumber(pageNumber, true);
14487
14488      this.update();
14489    }
14490  }, {
14491    key: "_getPageAdvance",
14492    value: function _getPageAdvance(currentPageNumber) {
14493      var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
14494
14495      if (this.isInPresentationMode) {
14496        return 1;
14497      }
14498
14499      switch (this._scrollMode) {
14500        case _ui_utils.ScrollMode.WRAPPED:
14501          {
14502            var _this$_getVisiblePage = this._getVisiblePages(),
14503                views = _this$_getVisiblePage.views,
14504                pageLayout = new Map();
14505
14506            var _iterator2 = _createForOfIteratorHelper(views),
14507                _step2;
14508
14509            try {
14510              for (_iterator2.s();
14510 !(_step2 = _iterator2.n()).done;) {
14511                var _step2$value = _step2.value,
14512                    id = _step2$value.id,
14513                    y = _step2$value.y,
14514                    percent = _step2$value.percent,
14515                    widthPercent = _step2$value.widthPercent;
14516
14517                if (percent === 0 || widthPercent < 100) {
14518                  continue;
14519                }
14520
14521                var yArray = pageLayout.get(y);
14522
14523                if (!yArray) {
14524                  pageLayout.set(y, yArray || (yArray = []));
14525                }
14526
14527                yArray.push(id);
14528              }
14529            } catch (err) {
14530              _iterator2.e(err);
14531            } finally {
14532              _iterator2.f();
14533            }
14534
14535            var _iterator3 = _createForOfIteratorHelper(pageLayout.values()),
14536                _step3;
14537
14538            try {
14539              for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
14540                var _yArray = _step3.value;
14541
14542                var currentIndex = _yArray.indexOf(currentPageNumber);
14543
14544                if (currentIndex === -1) {
14545                  continue;
14546                }
14547
14548                var numPages = _yArray.length;
14549
14550                if (numPages === 1) {
14551                  break;
14552                }
14553
14554                if (previous) {
14555                  for (var i = currentIndex - 1, ii = 0; i >= ii; i--) {
14556                    var currentId = _yArray[i],
14557                        expectedId = _yArray[i + 1] - 1;
14558
14559                    if (currentId < expectedId) {
14560                      return currentPageNumber - expectedId;
14561                    }
14562                  }
14563                } else {
14564                  for (var _i2 = currentIndex + 1, _ii = numPages; _i2 < _ii; _i2++) {
14565                    var _currentId = _yArray[_i2],
14566                        _expectedId = _yArray[_i2 - 1] + 1;
14567
14568                    if (_currentId > _expectedId) {
14569                      return _expectedId - currentPageNumber;
14570                    }
14571                  }
14572                }
14573
14574                if (previous) {
14575                  var firstId = _yArray[0];
14576
14577                  if (firstId < currentPageNumber) {
14578                    return currentPageNumber - firstId + 1;
14579                  }
14580                } else {
14581                  var lastId = _yArray[numPages - 1];
14582
14583                  if (lastId > currentPageNumber) {
14584                    return lastId - currentPageNumber + 1;
14585                  }
14586                }
14587
14588                break;
14589              }
14590            } catch (err) {
14591              _iterator3.e(err);
14592            } finally {
14593              _iterator3.f();
14594            }
14595
14596            break;
14597          }
14598
14599        case _ui_utils.ScrollMode.HORIZONTAL:
14600          {
14601            break;
14602          }
14603
14604        case _ui_utils.ScrollMode.VERTICAL:
14605          {
14606            if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
14607              break;
14608            }
14609
14610            var parity = this._spreadMode - 1;
14611
14612            if (previous && currentPageNumber % 2 !== parity) {
14613              break;
14614            } else if (!previous && currentPageNumber % 2 === parity) {
14615              break;
14616            }
14617
14618            var _this$_getVisiblePage2 = this._getVisiblePages(),
14619                _views = _this$_getVisiblePage2.views,
14620                _expectedId2 = previous ? currentPageNumber - 1 : currentPageNumber + 1;
14621
14622            var _iterator4 = _createForOfIteratorHelper(_views),
14623                _step4;
14624
14625            try {
14626              for (_iterator4.s();
14626 !(_step4 = _iterator4.n()).done;) {
14627                var _step4$value = _step4.value,
14628                    _id = _step4$value.id,
14629                    _percent = _step4$value.percent,
14630                    _widthPercent = _step4$value.widthPercent;
14631
14632                if (_id !== _expectedId2) {
14633                  continue;
14634                }
14635
14636                if (_percent > 0 && _widthPercent === 100) {
14637                  return 2;
14638                }
14639
14640                break;
14641              }
14642            } catch (err) {
14643              _iterator4.e(err);
14644            } finally {
14645              _iterator4.f();
14646            }
14647
14648            break;
14649          }
14650      }
14651
14652      return 1;
14653    }
14654  }, {
14655    key: "nextPage",
14656    value: function nextPage() {
14657      var currentPageNumber = this._currentPageNumber,
14658          pagesCount = this.pagesCount;
14659
14660      if (currentPageNumber >= pagesCount) {
14661        return false;
14662      }
14663
14664      var advance = this._getPageAdvance(currentPageNumber, false) || 1;
14665      this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);
14666      return true;
14667    }
14668  }, {
14669    key: "previousPage",
14670    value: function previousPage() {
14671      var currentPageNumber = this._currentPageNumber;
14672
14673      if (currentPageNumber <= 1) {
14674        return false;
14675      }
14676
14677      var advance = this._getPageAdvance(currentPageNumber, true) || 1;
14678      this.currentPageNumber = Math.max(currentPageNumber - advance, 1);
14679      return true;
14680    }
14681  }]);
14682
14683  return BaseViewer;
14684}();
14685
14686exports.BaseViewer = BaseViewer;
14687
14688/***/ }),
14689/* 31 */
14690/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14691
14692
14693
14694Object.defineProperty(exports, "__esModule", ({
14695  value: true
14696}));
14697exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;
14698
14699var _pdfjsLib = __webpack_require__(7);
14700
14701var _l10n_utils = __webpack_require__(32);
14702
14703var _pdf_link_service = __webpack_require__(21);
14704
14705function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14706
14707function _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."); }
14708
14709function _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); }
14710
14711function _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; }
14712
14713function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
14714
14715function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14716
14717function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14718
14719function _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); } }
14720
14721function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
14722
14723var AnnotationLayerBuilder = /*#__PURE__*/function () {
14724  function AnnotationLayerBuilder(_ref) {
14725    var pageDiv = _ref.pageDiv,
14726        pdfPage = _ref.pdfPage,
14727        linkService = _ref.linkService,
14728        downloadManager = _ref.downloadManager,
14729        _ref$annotationStorag = _ref.annotationStorage,
14730        annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,
14731        _ref$imageResourcesPa = _ref.imageResourcesPath,
14732        imageResourcesPath = _ref$imageResourcesPa === void 0 ? "" : _ref$imageResourcesPa,
14733        _ref$renderInteractiv = _ref.renderInteractiveForms,
14734        renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv,
14735        _ref$l10n = _ref.l10n,
14736        l10n = _ref$l10n === void 0 ? _l10n_utils.NullL10n : _ref$l10n,
14737        _ref$enableScripting = _ref.enableScripting,
14738        enableScripting = _ref$enableScripting === void 0 ? false : _ref$enableScripting,
14739        _ref$hasJSActionsProm = _ref.hasJSActionsPromise,
14740        hasJSActionsPromise = _ref$hasJSActionsProm === void 0 ? null : _ref$hasJSActionsProm,
14741        _ref$mouseState = _ref.mouseState,
14742        mouseState = _ref$mouseState === void 0 ? null : _ref$mouseState;
14743
14744    _classCallCheck(this, AnnotationLayerBuilder);
14745
14746    this.pageDiv = pageDiv;
14747    this.pdfPage = pdfPage;
14748    this.linkService = linkService;
14749    this.downloadManager = downloadManager;
14750    this.imageResourcesPath = imageResourcesPath;
14751    this.renderInteractiveForms = renderInteractiveForms;
14752    this.l10n = l10n;
14753    this.annotationStorage = annotationStorage;
14754    this.enableScripting = enableScripting;
14755    this._hasJSActionsPromise = hasJSActionsPromise;
14756    this._mouseState = mouseState;
14757    this.div = null;
14758    this._cancelled = false;
14759  }
14760
14761  _createClass(AnnotationLayerBuilder, [{
14762    key: "render",
14763    value: function render(viewport) {
14764      var _this = this;
14765
14766      var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display";
14767      return Promise.all([this.pdfPage.getAnnotations({
14768        intent: intent
14769      }), this._hasJSActionsPromise]).then(function (_ref2) {
14770        var _ref3 = _slicedToArray(_ref2, 2),
14771            annotations = _ref3[0],
14772            _ref3$ = _ref3[1],
14773            hasJSActions = _ref3$ === void 0 ? false : _ref3$;
14774
14775        if (_this._cancelled) {
14776          return;
14777        }
14778
14779        if (annotations.length === 0) {
14780          return;
14781        }
14782
14783        var parameters = {
14784          viewport: viewport.clone({
14785            dontFlip: true
14786          }),
14787          div: _this.div,
14788          annotations: annotations,
14789          page: _this.pdfPage,
14790          imageResourcesPath: _this.imageResourcesPath,
14791          renderInteractiveForms: _this.renderInteractiveForms,
14792          linkService: _this.linkService,
14793          downloadManager: _this.downloadManager,
14794          annotationStorage: _this.annotationStorage,
14795          enableScripting: _this.enableScripting,
14796          hasJSActions: hasJSActions,
14797          mouseState: _this._mouseState
14798        };
14799
14800        if (_this.div) {
14801          _pdfjsLib.AnnotationLayer.update(parameters);
14802        } else {
14803          _this.div = document.createElement("div");
14804          _this.div.className = "annotationLayer";
14805
14806          _this.pageDiv.appendChild(_this.div);
14807
14808          parameters.div = _this.div;
14809
14810          _pdfjsLib.AnnotationLayer.render(parameters);
14811
14812          _this.l10n.translate(_this.div);
14813        }
14814      });
14815    }
14816  }, {
14817    key: "cancel",
14818    value: function cancel() {
14819      this._cancelled = true;
14820    }
14821  }, {
14822    key: "hide",
14823    value: function hide() {
14824      if (!this.div) {
14825        return;
14826      }
14827
14828      this.div.hidden = true;
14829    }
14830  }]);
14831
14832  return AnnotationLayerBuilder;
14833}();
14834
14835exports.AnnotationLayerBuilder = AnnotationLayerBuilder;
14836
14837var DefaultAnnotationLayerFactory = /*#__PURE__*/function () {
14838  function DefaultAnnotationLayerFactory() {
14839    _classCallCheck(this, DefaultAnnotationLayerFactory);
14840  }
14841
14842  _createClass(DefaultAnnotationLayerFactory, [{
14843    key: "createAnnotationLayerBuilder",
14844    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
14845      var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
14846      var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
14847      var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
14848      var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n;
14849      var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
14850      var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
14851      var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;
14852      return new AnnotationLayerBuilder({
14853        pageDiv: pageDiv,
14854        pdfPage: pdfPage,
14855        imageResourcesPath: imageResourcesPath,
14856        renderInteractiveForms: renderInteractiveForms,
14857        linkService: new _pdf_link_service.SimpleLinkService(),
14858        l10n: l10n,
14859        annotationStorage: annotationStorage,
14860        enableScripting: enableScripting,
14861        hasJSActionsPromise: hasJSActionsPromise,
14862        mouseState: mouseState
14863      });
14864    }
14865  }]);
14866
14867  return DefaultAnnotationLayerFactory;
14868}();
14869
14870exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;
14871
14872/***/ }),
14873/* 32 */
14874/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14875
14876
14877
14878Object.defineProperty(exports, "__esModule", ({
14879  value: true
14880}));
14881exports.fixupLangCode = fixupLangCode;
14882exports.getL10nFallback = getL10nFallback;
14883exports.NullL10n = void 0;
14884
14885var _regenerator = _interopRequireDefault(__webpack_require__(4));
14886
14887function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14888
14889function 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); } }
14890
14891function _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); }); }; }
14892
14893var DEFAULT_L10N_STRINGS = {
14894  of_pages: "of {{pagesCount}}",
14895  page_of_pages: "({{pageNumber}} of {{pagesCount}})",
14896  document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)",
14897  document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)",
14898  document_properties_date_string: "{{date}}, {{time}}",
14899  document_properties_page_size_unit_inches: "in",
14900  document_properties_page_size_unit_millimeters: "mm",
14901  document_properties_page_size_orientation_portrait: "portrait",
14902  document_properties_page_size_orientation_landscape: "landscape",
14903  document_properties_page_size_name_a3: "A3",
14904  document_properties_page_size_name_a4: "A4",
14905  document_properties_page_size_name_letter: "Letter",
14906  document_properties_page_size_name_legal: "Legal",
14907  document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})",
14908  document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",
14909  document_properties_linearized_yes: "Yes",
14910  document_properties_linearized_no: "No",
14911  print_progress_percent: "{{progress}}%",
14912  "toggle_sidebar.title": "Toggle Sidebar",
14913  "toggle_sidebar_notification2.title": "Toggle Sidebar (document contains outline/attachments/layers)",
14914  additional_layers: "Additional Layers",
14915  page_landmark: "Page {{page}}",
14916  thumb_page_title: "Page {{page}}",
14917  thumb_page_canvas: "Thumbnail of Page {{page}}",
14918  find_reached_top: "Reached top of document, continued from bottom",
14919  find_reached_bottom: "Reached end of document, continued from top",
14920  "find_match_count[one]": "{{current}} of {{total}} match",
14921  "find_match_count[other]": "{{current}} of {{total}} matches",
14922  "find_match_count_limit[one]": "More than {{limit}} match",
14923  "find_match_count_limit[other]": "More than {{limit}} matches",
14924  find_not_found: "Phrase not found",
14925  error_version_info: "PDF.js v{{version}} (build: {{build}})",
14926  error_message: "Message: {{message}}",
14927  error_stack: "Stack: {{stack}}",
14928  error_file: "File: {{file}}",
14929  error_line: "Line: {{line}}",
14930  rendering_error: "An error occurred while rendering the page.",
14931  page_scale_width: "Page Width",
14932  page_scale_fit: "Page Fit",
14933  page_scale_auto: "Automatic Zoom",
14934  page_scale_actual: "Actual Size",
14935  page_scale_percent: "{{scale}}%",
14936  loading: "Loading…",
14937  loading_error: "An error occurred while loading the PDF.",
14938  invalid_file_error: "Invalid or corrupted PDF file.",
14939  missing_file_error: "Missing PDF file.",
14940  unexpected_response_error: "Unexpected server response.",
14941  printing_not_supported: "Warning: Printing is not fully supported by this browser.",
14942  printing_not_ready: "Warning: The PDF is not fully loaded for printing.",
14943  web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts."
14944};
14945
14946function getL10nFallback(key, args) {
14947  switch (key) {
14948    case "find_match_count":
14949      key = "find_match_count[".concat(args.total === 1 ? "one" : "other", "]");
14950      break;
14951
14952    case "find_match_count_limit":
14953      key = "find_match_count_limit[".concat(args.limit === 1 ? "one" : "other", "]");
14954      break;
14955  }
14956
14957  return DEFAULT_L10N_STRINGS[key] || "";
14958}
14959
14960var PARTIAL_LANG_CODES = {
14961  en: "en-US",
14962  es: "es-ES",
14963  fy: "fy-NL",
14964  ga: "ga-IE",
14965  gu: "gu-IN",
14966  hi: "hi-IN",
14967  hy: "hy-AM",
14968  nb: "nb-NO",
14969  ne: "ne-NP",
14970  nn: "nn-NO",
14971  pa: "pa-IN",
14972  pt: "pt-PT",
14973  sv: "sv-SE",
14974  zh: "zh-CN"
14975};
14976
14977function fixupLangCode(langCode) {
14978  return PARTIAL_LANG_CODES[langCode === null || langCode === void 0 ? void 0 : langCode.toLowerCase()] || langCode;
14979}
14980
14981function formatL10nValue(text, args) {
14982  if (!args) {
14983    return text;
14984  }
14985
14986  return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) {
14987    return name in args ? args[name] : "{{" + name + "}}";
14988  });
14989}
14990
14991var NullL10n = {
14992  getLanguage: function getLanguage() {
14993    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
14994      return _regenerator["default"].wrap(function _callee$(_context) {
14995        while (1) {
14996          switch (_context.prev = _context.next) {
14997            case 0:
14998              return _context.abrupt("return", "en-us");
14999
15000            case 1:
15001            case "end":
15002              return _context.stop();
15003          }
15004        }
15005      }, _callee);
15006    }))();
15007  },
15008  getDirection: function getDirection() {
15009    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
15010      return _regenerator["default"].wrap(function _callee2$(_context2) {
15011        while (1) {
15012          switch (_context2.prev = _context2.next) {
15013            case 0:
15014              return _context2.abrupt("return", "ltr");
15015
15016            case 1:
15017            case "end":
15018              return _context2.stop();
15019          }
15020        }
15021      }, _callee2);
15022    }))();
15023  },
15024  get: function get(key) {
15025    var _arguments = arguments;
15026    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
15027      var args, fallback;
15028      return _regenerator["default"].wrap(function _callee3$(_context3) {
15029        while (1) {
15030          switch (_context3.prev = _context3.next) {
15031            case 0:
15032              args = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : null;
15033              fallback = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : getL10nFallback(key, args);
15034              return _context3.abrupt("return", formatL10nValue(fallback, args));
15035
15036            case 3:
15037            case "end":
15038              return _context3.stop();
15039          }
15040        }
15041      }, _callee3);
15042    }))();
15043  },
15044  translate: function translate(element) {
15045    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
15046      return _regenerator["default"].wrap(function _callee4$(_context4) {
15047        while (1) {
15048          switch (_context4.prev = _context4.next) {
15049            case 0:
15050            case "end":
15051              return _context4.stop();
15052          }
15053        }
15054      }, _callee4);
15055    }))();
15056  }
15057};
15058exports.NullL10n = NullL10n;
15059
15060/***/ }),
15061/* 33 */
15062/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
15063
15064
15065
15066Object.defineProperty(exports, "__esModule", ({
15067  value: true
15068}));
15069exports.PDFPageView = void 0;
15070
15071var _regenerator = _interopRequireDefault(__webpack_require__(4));
15072
15073var _ui_utils = __webpack_require__(6);
15074
15075var _pdfjsLib = __webpack_require__(7);
15076
15077var _l10n_utils = __webpack_require__(32);
15078
15079var _pdf_rendering_queue = __webpack_require__(10);
15080
15081var _viewer_compatibility = __webpack_require__(2);
15082
15083function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15084
15085function 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); } }
15086
15087function _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); }); }; }
15088
15089function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15090
15091function _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); } }
15092
15093function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
15094
15095var MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;
15096
15097var PDFPageView = /*#__PURE__*/function () {
15098  function PDFPageView(options) {
15099    _classCallCheck(this, PDFPageView);
15100
15101    var container = options.container;
15102    var defaultViewport = options.defaultViewport;
15103    this.id = options.id;
15104    this.renderingId = "page" + this.id;
15105    this.pdfPage = null;
15106    this.pageLabel = null;
15107    this.rotation = 0;
15108    this.scale = options.scale || _ui_utils.DEFAULT_SCALE;
15109    this.viewport = defaultViewport;
15110    this.pdfPageRotate = defaultViewport.rotation;
15111    this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;
15112    this.hasRestrictedScaling = false;
15113    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
15114    this.imageResourcesPath = options.imageResourcesPath || "";
15115    this.renderInteractiveForms = options.renderInteractiveForms !== false;
15116    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
15117    this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;
15118    this.eventBus = options.eventBus;
15119    this.renderingQueue = options.renderingQueue;
15120    this.textLayerFactory = options.textLayerFactory;
15121    this.annotationLayerFactory = options.annotationLayerFactory;
15122    this.xfaLayerFactory = options.xfaLayerFactory;
15123    this.structTreeLayerFactory = options.structTreeLayerFactory;
15124    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
15125    this.l10n = options.l10n || _l10n_utils.NullL10n;
15126    this.paintTask = null;
15127    this.paintedViewportMap = new WeakMap();
15128    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
15129    this.resume = null;
15130    this._renderError = null;
15131    this.annotationLayer = null;
15132    this.textLayer = null;
15133    this.zoomLayer = null;
15134    this.xfaLayer = null;
15135    this.structTreeLayer = null;
15136    var div = document.createElement("div");
15137    div.className = "page";
15138    div.style.width = Math.floor(this.viewport.width) + "px";
15139    div.style.height = Math.floor(this.viewport.height) + "px";
15140    div.setAttribute("data-page-number", this.id);
15141    div.setAttribute("role", "region");
15142    this.l10n.get("page_landmark", {
15143      page: this.id
15144    }).then(function (msg) {
15145      div.setAttribute("aria-label", msg);
15146    });
15147    this.div = div;
15148    container.appendChild(div);
15149  }
15150
15151  _createClass(PDFPageView, [{
15152    key: "setPdfPage",
15153    value: function setPdfPage(pdfPage) {
15154      this.pdfPage = pdfPage;
15155      this.pdfPageRotate = pdfPage.rotate;
15156      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
15157      this.viewport = pdfPage.getViewport({
15158        scale: this.scale * _ui_utils.CSS_UNITS,
15159        rotation: totalRotation
15160      });
15161      this.reset();
15162    }
15163  }, {
15164    key: "destroy",
15165    value: function destroy() {
15166      this.reset();
15167
15168      if (this.pdfPage) {
15169        this.pdfPage.cleanup();
15170      }
15171    }
15172  }, {
15173    key: "_renderAnnotationLayer",
15174    value: function () {
15175      var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
15176        var error;
15177        return _regenerator["default"].wrap(function _callee$(_context) {
15178          while (1) {
15179            switch (_context.prev = _context.next) {
15180              case 0:
15181                error = null;
15182                _context.prev = 1;
15183                _context.next = 4;
15184                return this.annotationLayer.render(this.viewport, "display");
15185
15186              case 4:
15187                _context.next = 9;
15188                break;
15189
15190              case 6:
15191                _context.prev = 6;
15192                _context.t0 = _context["catch"](1);
15193                error = _context.t0;
15194
15195              case 9:
15196                _context.prev = 9;
15197                this.eventBus.dispatch("annotationlayerrendered", {
15198                  source: this,
15199                  pageNumber: this.id,
15200                  error: error
15201                });
15202                return _context.finish(9);
15203
15204              case 12:
15205              case "end":
15206                return _context.stop();
15207            }
15208          }
15209        }, _callee, this, [[1, 6, 9, 12]]);
15210      }));
15211
15212      function _renderAnnotationLayer() {
15213        return _renderAnnotationLayer2.apply(this, arguments);
15214      }
15215
15216      return _renderAnnotationLayer;
15217    }()
15218  }, {
15219    key: "_renderXfaLayer",
15220    value: function () {
15221      var _renderXfaLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
15222        var error;
15223        return _regenerator["default"].wrap(function _callee2$(_context2) {
15224          while (1) {
15225            switch (_context2.prev = _context2.next) {
15226              case 0:
15227                error = null;
15228                _context2.prev = 1;
15229                _context2.next = 4;
15230                return this.xfaLayer.render(this.viewport, "display");
15231
15232              case 4:
15233                _context2.next = 9;
15234                break;
15235
15236              case 6:
15237                _context2.prev = 6;
15238                _context2.t0 = _context2["catch"](1);
15239                error = _context2.t0;
15240
15241              case 9:
15242                _context2.prev = 9;
15243                this.eventBus.dispatch("xfalayerrendered", {
15244                  source: this,
15245                  pageNumber: this.id,
15246                  error: error
15247                });
15248                return _context2.finish(9);
15249
15250              case 12:
15251              case "end":
15252                return _context2.stop();
15253            }
15254          }
15255        }, _callee2, this, [[1, 6, 9, 12]]);
15256      }));
15257
15258      function _renderXfaLayer() {
15259        return _renderXfaLayer2.apply(this, arguments);
15260      }
15261
15262      return _renderXfaLayer;
15263    }()
15264  }, {
15265    key: "_resetZoomLayer",
15266    value: function _resetZoomLayer() {
15267      var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
15268
15269      if (!this.zoomLayer) {
15270        return;
15271      }
15272
15273      var zoomLayerCanvas = this.zoomLayer.firstChild;
15274      this.paintedViewportMap["delete"](zoomLayerCanvas);
15275      zoomLayerCanvas.width = 0;
15276      zoomLayerCanvas.height = 0;
15277
15278      if (removeFromDOM) {
15279        this.zoomLayer.remove();
15280      }
15281
15282      this.zoomLayer = null;
15283    }
15284  }, {
15285    key: "reset",
15286    value: function reset() {
15287      var _this$annotationLayer,
15288          _this$xfaLayer,
15289          _this = this;
15290
15291      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
15292          _ref$keepZoomLayer = _ref.keepZoomLayer,
15293          keepZoomLayer = _ref$keepZoomLayer === void 0 ? false : _ref$keepZoomLayer,
15294          _ref$keepAnnotationLa = _ref.keepAnnotationLayer,
15295          keepAnnotationLayer = _ref$keepAnnotationLa === void 0 ? false : _ref$keepAnnotationLa,
15296          _ref$keepXfaLayer = _ref.keepXfaLayer,
15297          keepXfaLayer = _ref$keepXfaLayer === void 0 ? false : _ref$keepXfaLayer;
15298
15299      this.cancelRendering({
15300        keepAnnotationLayer: keepAnnotationLayer,
15301        keepXfaLayer: keepXfaLayer
15302      });
15303      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
15304      var div = this.div;
15305      div.style.width = Math.floor(this.viewport.width) + "px";
15306      div.style.height = Math.floor(this.viewport.height) + "px";
15307      var childNodes = div.childNodes,
15308          zoomLayerNode = keepZoomLayer && this.zoomLayer || null,
15309          annotationLayerNode = keepAnnotationLayer && ((_this$annotationLayer = this.annotationLayer) === null || _this$annotationLayer === void 0 ? void 0 : _this$annotationLayer.div) || null,
15310          xfaLayerNode = keepXfaLayer && ((_this$xfaLayer = this.xfaLayer) === null || _this$xfaLayer === void 0 ? void 0 : _this$xfaLayer.div) || null;
15311
15312      for (var i = childNodes.length - 1; i >= 0; i--) {
15313        var node = childNodes[i];
15314
15315        switch (node) {
15316          case zoomLayerNode:
15317          case annotationLayerNode:
15318          case xfaLayerNode:
15319            continue;
15320        }
15321
15322        div.removeChild(node);
15323      }
15324
15325      div.removeAttribute("data-loaded");
15326
15327      if (annotationLayerNode) {
15328        this.annotationLayer.hide();
15329      }
15330
15331      if (xfaLayerNode) {
15332        this.xfaLayer.hide();
15333      }
15334
15335      if (!zoomLayerNode) {
15336        if (this.canvas) {
15337          this.paintedViewportMap["delete"](this.canvas);
15338          this.canvas.width = 0;
15339          this.canvas.height = 0;
15340          delete this.canvas;
15341        }
15342
15343        this._resetZoomLayer();
15344      }
15345
15346      if (this.svg) {
15347        this.paintedViewportMap["delete"](this.svg);
15348        delete this.svg;
15349      }
15350
15351      this.loadingIconDiv = document.createElement("div");
15352      this.loadingIconDiv.className = "loadingIcon";
15353      this.loadingIconDiv.setAttribute("role", "img");
15354      this.l10n.get("loading").then(function (msg) {
15355        var _this$loadingIconDiv;
15356
15357        (_this$loadingIconDiv = _this.loadingIconDiv) === null || _this$loadingIconDiv === void 0 ? void 0 : _this$loadingIconDiv.setAttribute("aria-label", msg);
15358      });
15359      div.appendChild(this.loadingIconDiv);
15360    }
15361  }, {
15362    key: "update",
15363    value: function update(scale, rotation) {
15364      var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
15365      this.scale = scale || this.scale;
15366
15367      if (typeof rotation !== "undefined") {
15368        this.rotation = rotation;
15369      }
15370
15371      if (optionalContentConfigPromise instanceof Promise) {
15372        this._optionalContentConfigPromise = optionalContentConfigPromise;
15373      }
15374
15375      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
15376      this.viewport = this.viewport.clone({
15377        scale: this.scale * _ui_utils.CSS_UNITS,
15378        rotation: totalRotation
15379      });
15380
15381      if (this.svg) {
15382        this.cssTransform({
15383          target: this.svg,
15384          redrawAnnotationLayer: true,
15385          redrawXfaLayer: true
15386        });
15387        this.eventBus.dispatch("pagerendered", {
15388          source: this,
15389          pageNumber: this.id,
15390          cssTransform: true,
15391          timestamp: performance.now(),
15392          error: this._renderError
15393        });
15394        return;
15395      }
15396
15397      var isScalingRestricted = false;
15398
15399      if (this.canvas && this.maxCanvasPixels > 0) {
15400        var outputScale = this.outputScale;
15401
15402        if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {
15403          isScalingRestricted = true;
15404        }
15405      }
15406
15407      if (this.canvas) {
15408        if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {
15409          this.cssTransform({
15410            target: this.canvas,
15411            redrawAnnotationLayer: true,
15412            redrawXfaLayer: true
15413          });
15414          this.eventBus.dispatch("pagerendered", {
15415            source: this,
15416            pageNumber: this.id,
15417            cssTransform: true,
15418            timestamp: performance.now(),
15419            error: this._renderError
15420          });
15421          return;
15422        }
15423
15424        if (!this.zoomLayer && !this.canvas.hidden) {
15425          this.zoomLayer = this.canvas.parentNode;
15426          this.zoomLayer.style.position = "absolute";
15427        }
15428      }
15429
15430      if (this.zoomLayer) {
15431        this.cssTransform({
15432          target: this.zoomLayer.firstChild
15433        });
15434      }
15435
15436      this.reset({
15437        keepZoomLayer: true,
15438        keepAnnotationLayer: true,
15439        keepXfaLayer: true
15440      });
15441    }
15442  }, {
15443    key: "cancelRendering",
15444    value: function cancelRendering() {
15445      var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
15446          _ref2$keepAnnotationL = _ref2.keepAnnotationLayer,
15447          keepAnnotationLayer = _ref2$keepAnnotationL === void 0 ? false : _ref2$keepAnnotationL,
15448          _ref2$keepXfaLayer = _ref2.keepXfaLayer,
15449          keepXfaLayer = _ref2$keepXfaLayer === void 0 ? false : _ref2$keepXfaLayer;
15450
15451      if (this.paintTask) {
15452        this.paintTask.cancel();
15453        this.paintTask = null;
15454      }
15455
15456      this.resume = null;
15457
15458      if (this.textLayer) {
15459        this.textLayer.cancel();
15460        this.textLayer = null;
15461      }
15462
15463      if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {
15464        this.annotationLayer.cancel();
15465        this.annotationLayer = null;
15466      }
15467
15468      if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {
15469        this.xfaLayer.cancel();
15470        this.xfaLayer = null;
15471      }
15472
15473      if (this._onTextLayerRendered) {
15474        this.eventBus._off("textlayerrendered", this._onTextLayerRendered);
15475
15476        this._onTextLayerRendered = null;
15477      }
15478    }
15479  }, {
15480    key: "cssTransform",
15481    value: function cssTransform(_ref3) {
15482      var target = _ref3.target,
15483          _ref3$redrawAnnotatio = _ref3.redrawAnnotationLayer,
15484          redrawAnnotationLayer = _ref3$redrawAnnotatio === void 0 ? false : _ref3$redrawAnnotatio,
15485          _ref3$redrawXfaLayer = _ref3.redrawXfaLayer,
15486          redrawXfaLayer = _ref3$redrawXfaLayer === void 0 ? false : _ref3$redrawXfaLayer;
15487      var width = this.viewport.width;
15488      var height = this.viewport.height;
15489      var div = this.div;
15490      target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px";
15491      target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px";
15492      var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;
15493      var absRotation = Math.abs(relativeRotation);
15494      var scaleX = 1,
15495          scaleY = 1;
15496
15497      if (absRotation === 90 || absRotation === 270) {
15498        scaleX = height / width;
15499        scaleY = width / height;
15500      }
15501
15502      target.style.transform = "rotate(".concat(relativeRotation, "deg) scale(").concat(scaleX, ", ").concat(scaleY, ")");
15503
15504      if (this.textLayer) {
15505        var textLayerViewport = this.textLayer.viewport;
15506        var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;
15507        var textAbsRotation = Math.abs(textRelativeRotation);
15508        var scale = width / textLayerViewport.width;
15509
15510        if (textAbsRotation === 90 || textAbsRotation === 270) {
15511          scale = width / textLayerViewport.height;
15512        }
15513
15514        var textLayerDiv = this.textLayer.textLayerDiv;
15515        var transX, transY;
15516
15517        switch (textAbsRotation) {
15518          case 0:
15519            transX = transY = 0;
15520            break;
15521
15522          case 90:
15523            transX = 0;
15524            transY = "-" + textLayerDiv.style.height;
15525            break;
15526
15527          case 180:
15528            transX = "-" + textLayerDiv.style.width;
15529            transY = "-" + textLayerDiv.style.height;
15530            break;
15531
15532          case 270:
15533            transX = "-" + textLayerDiv.style.width;
15534            transY = 0;
15535            break;
15536
15537          default:
15538            console.error("Bad rotation value.");
15539            break;
15540        }
15541
15542        textLayerDiv.style.transform = "rotate(".concat(textAbsRotation, "deg) ") + "scale(".concat(scale, ") ") + "translate(".concat(transX, ", ").concat(transY, ")");
15543        textLayerDiv.style.transformOrigin = "0% 0%";
15544      }
15545
15546      if (redrawAnnotationLayer && this.annotationLayer) {
15547        this._renderAnnotationLayer();
15548      }
15549
15550      if (redrawXfaLayer && this.xfaLayer) {
15551        this._renderXfaLayer();
15552      }
15553    }
15554  }, {
15555    key: "width",
15556    get: function get() {
15557      return this.viewport.width;
15558    }
15559  }, {
15560    key: "height",
15561    get: function get() {
15562      return this.viewport.height;
15563    }
15564  }, {
15565    key: "getPagePoint",
15566    value: function getPagePoint(x, y) {
15567      return this.viewport.convertToPdfPoint(x, y);
15568    }
15569  }, {
15570    key: "draw",
15571    value: function draw() {
15572      var _this$annotationLayer2,
15573          _this$xfaLayer2,
15574          _this2 = this;
15575
15576      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
15577        console.error("Must be in new state before drawing");
15578        this.reset();
15579      }
15580
15581      var div = this.div,
15582          pdfPage = this.pdfPage;
15583
15584      if (!pdfPage) {
15585        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
15586
15587        if (this.loadingIconDiv) {
15588          div.removeChild(this.loadingIconDiv);
15589          delete this.loadingIconDiv;
15590        }
15591
15592        return Promise.reject(new Error("pdfPage is not loaded"));
15593      }
15594
15595      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
15596      var canvasWrapper = document.createElement("div");
15597      canvasWrapper.style.width = div.style.width;
15598      canvasWrapper.style.height = div.style.height;
15599      canvasWrapper.classList.add("canvasWrapper");
15600
15601      if ((_this$annotationLayer2 = this.annotationLayer) !== null && _this$annotationLayer2 !== void 0 && _this$annotationLayer2.div) {
15602        div.insertBefore(canvasWrapper, this.annotationLayer.div);
15603      } else {
15604        div.appendChild(canvasWrapper);
15605      }
15606
15607      var textLayer = null;
15608
15609      if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {
15610        var _this$annotationLayer3;
15611
15612        var textLayerDiv = document.createElement("div");
15613        textLayerDiv.className = "textLayer";
15614        textLayerDiv.style.width = canvasWrapper.style.width;
15615        textLayerDiv.style.height = canvasWrapper.style.height;
15616
15617        if ((_this$annotationLayer3 = this.annotationLayer) !== null && _this$annotationLayer3 !== void 0 && _this$annotationLayer3.div) {
15618          div.insertBefore(textLayerDiv, this.annotationLayer.div);
15619        } else {
15620          div.appendChild(textLayerDiv);
15621        }
15622
15623        textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);
15624      }
15625
15626      this.textLayer = textLayer;
15627
15628      if ((_this$xfaLayer2 = this.xfaLayer) !== null && _this$xfaLayer2 !== void 0 && _this$xfaLayer2.div) {
15629        div.appendChild(this.xfaLayer.div);
15630      }
15631
15632      var renderContinueCallback = null;
15633
15634      if (this.renderingQueue) {
15635        renderContinueCallback = function renderContinueCallback(cont) {
15636          if (!_this2.renderingQueue.isHighestPriority(_this2)) {
15637            _this2.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;
15638
15639            _this2.resume = function () {
15640              _this2.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
15641              cont();
15642            };
15643
15644            return;
15645          }
15646
15647          cont();
15648        };
15649      }
15650
15651      var finishPaintTask = /*#__PURE__*/function () {
15652        var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
15653          var error,
15654              _args3 = arguments;
15655          return _regenerator["default"].wrap(function _callee3$(_context3) {
15656            while (1) {
15657              switch (_context3.prev = _context3.next) {
15658                case 0:
15659                  error = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : null;
15660
15661                  if (paintTask === _this2.paintTask) {
15662                    _this2.paintTask = null;
15663                  }
15664
15665                  if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {
15666                    _context3.next = 5;
15667                    break;
15668                  }
15669
15670                  _this2._renderError = null;
15671                  return _context3.abrupt("return");
15672
15673                case 5:
15674                  _this2._renderError = error;
15675                  _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
15676
15677                  if (_this2.loadingIconDiv) {
15678                    div.removeChild(_this2.loadingIconDiv);
15679                    delete _this2.loadingIconDiv;
15680                  }
15681
15682                  _this2._resetZoomLayer(true);
15683
15684                  _this2.eventBus.dispatch("pagerendered", {
15685                    source: _this2,
15686                    pageNumber: _this2.id,
15687                    cssTransform: false,
15688                    timestamp: performance.now(),
15689                    error: _this2._renderError
15690                  });
15691
15692                  if (!error) {
15693                    _context3.next = 12;
15694                    break;
15695                  }
15696
15697                  throw error;
15698
15699                case 12:
15700                case "end":
15701                  return _context3.stop();
15702              }
15703            }
15704          }, _callee3);
15705        }));
15706
15707        return function finishPaintTask() {
15708          return _ref4.apply(this, arguments);
15709        };
15710      }();
15711
15712      var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);
15713      paintTask.onRenderContinue = renderContinueCallback;
15714      this.paintTask = paintTask;
15715      var resultPromise = paintTask.promise.then(function () {
15716        return finishPaintTask(null).then(function () {
15717          if (textLayer) {
15718            var readableStream = pdfPage.streamTextContent({
15719              normalizeWhitespace: true,
15720              includeMarkedContent: true
15721            });
15722            textLayer.setTextContentStream(readableStream);
15723            textLayer.render();
15724          }
15725        });
15726      }, function (reason) {
15727        return finishPaintTask(reason);
15728      });
15729
15730      if (this.annotationLayerFactory) {
15731        if (!this.annotationLayer) {
15732          this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, this.renderInteractiveForms, this.l10n, null, null, null);
15733        }
15734
15735        this._renderAnnotationLayer();
15736      }
15737
15738      if (this.xfaLayerFactory) {
15739        if (!this.xfaLayer) {
15740          this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder(div, pdfPage, null);
15741        }
15742
15743        this._renderXfaLayer();
15744      }
15745
15746      if (this.structTreeLayerFactory && this.textLayer && this.canvas) {
15747        this._onTextLayerRendered = function (event) {
15748          if (event.pageNumber !== _this2.id) {
15749            return;
15750          }
15751
15752          _this2.eventBus._off("textlayerrendered", _this2._onTextLayerRendered);
15753
15754          _this2._onTextLayerRendered = null;
15755
15756          if (!_this2.canvas) {
15757            return;
15758          }
15759
15760          _this2.pdfPage.getStructTree().then(function (tree) {
15761            if (!tree) {
15762              return;
15763            }
15764
15765            if (!_this2.canvas) {
15766              return;
15767            }
15768
15769            var treeDom = _this2.structTreeLayer.render(tree);
15770
15771            treeDom.classList.add("structTree");
15772
15773            _this2.canvas.appendChild(treeDom);
15774          });
15775        };
15776
15777        this.eventBus._on("textlayerrendered", this._onTextLayerRendered);
15778
15779        this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder(pdfPage);
15780      }
15781
15782      div.setAttribute("data-loaded", true);
15783      this.eventBus.dispatch("pagerender", {
15784        source: this,
15785        pageNumber: this.id
15786      });
15787      return resultPromise;
15788    }
15789  }, {
15790    key: "paintOnCanvas",
15791    value: function paintOnCanvas(canvasWrapper) {
15792      var renderCapability = (0, _pdfjsLib.createPromiseCapability)();
15793      var result = {
15794        promise: renderCapability.promise,
15795        onRenderContinue: function onRenderContinue(cont) {
15796          cont();
15797        },
15798        cancel: function cancel() {
15799          renderTask.cancel();
15800        }
15801      };
15802      var viewport = this.viewport;
15803      var canvas = document.createElement("canvas");
15804      canvas.hidden = true;
15805      var isCanvasHidden = true;
15806
15807      var showCanvas = function showCanvas() {
15808        if (isCanvasHidden) {
15809          canvas.hidden = false;
15810          isCanvasHidden = false;
15811        }
15812      };
15813
15814      canvasWrapper.appendChild(canvas);
15815      this.canvas = canvas;
15816      canvas.mozOpaque = true;
15817      var ctx = canvas.getContext("2d", {
15818        alpha: false
15819      });
15820      var outputScale = (0, _ui_utils.getOutputScale)(ctx);
15821      this.outputScale = outputScale;
15822
15823      if (this.useOnlyCssZoom) {
15824        var actualSizeViewport = viewport.clone({
15825          scale: _ui_utils.CSS_UNITS
15826        });
15827        outputScale.sx *= actualSizeViewport.width / viewport.width;
15828        outputScale.sy *= actualSizeViewport.height / viewport.height;
15829        outputScale.scaled = true;
15830      }
15831
15832      if (this.maxCanvasPixels > 0) {
15833        var pixelsInViewport = viewport.width * viewport.height;
15834        var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);
15835
15836        if (outputScale.sx > maxScale || outputScale.sy > maxScale) {
15837          outputScale.sx = maxScale;
15838          outputScale.sy = maxScale;
15839          outputScale.scaled = true;
15840          this.hasRestrictedScaling = true;
15841        } else {
15842          this.hasRestrictedScaling = false;
15843        }
15844      }
15845
15846      var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);
15847      var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);
15848      canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);
15849      canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);
15850      canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px";
15851      canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px";
15852      this.paintedViewportMap.set(canvas, viewport);
15853      var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];
15854      var renderContext = {
15855        canvasContext: ctx,
15856        transform: transform,
15857        viewport: this.viewport,
15858        renderInteractiveForms: this.renderInteractiveForms,
15859        optionalContentConfigPromise: this._optionalContentConfigPromise
15860      };
15861      var renderTask = this.pdfPage.render(renderContext);
15862
15863      renderTask.onContinue = function (cont) {
15864        showCanvas();
15865
15866        if (result.onRenderContinue) {
15867          result.onRenderContinue(cont);
15868        } else {
15869          cont();
15870        }
15871      };
15872
15873      renderTask.promise.then(function () {
15874        showCanvas();
15875        renderCapability.resolve(undefined);
15876      }, function (error) {
15877        showCanvas();
15878        renderCapability.reject(error);
15879      });
15880      return result;
15881    }
15882  }, {
15883    key: "paintOnSvg",
15884    value: function paintOnSvg(wrapper) {
15885      var _this3 = this;
15886
15887      var cancelled = false;
15888
15889      var ensureNotCancelled = function ensureNotCancelled() {
15890        if (cancelled) {
15891          throw new _pdfjsLib.RenderingCancelledException("Rendering cancelled, page ".concat(_this3.id), "svg");
15892        }
15893      };
15894
15895      var pdfPage = this.pdfPage;
15896      var actualSizeViewport = this.viewport.clone({
15897        scale: _ui_utils.CSS_UNITS
15898      });
15899      var promise = pdfPage.getOperatorList().then(function (opList) {
15900        ensureNotCancelled();
15901        var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL);
15902        return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {
15903          ensureNotCancelled();
15904          _this3.svg = svg;
15905
15906          _this3.paintedViewportMap.set(svg, actualSizeViewport);
15907
15908          svg.style.width = wrapper.style.width;
15909          svg.style.height = wrapper.style.height;
15910          _this3.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
15911          wrapper.appendChild(svg);
15912        });
15913      });
15914      return {
15915        promise: promise,
15916        onRenderContinue: function onRenderContinue(cont) {
15917          cont();
15918        },
15919        cancel: function cancel() {
15920          cancelled = true;
15921        }
15922      };
15923    }
15924  }, {
15925    key: "setPageLabel",
15926    value: function setPageLabel(label) {
15927      this.pageLabel = typeof label === "string" ? label : null;
15928
15929      if (this.pageLabel !== null) {
15930        this.div.setAttribute("data-page-label", this.pageLabel);
15931      } else {
15932        this.div.removeAttribute("data-page-label");
15933      }
15934    }
15935  }]);
15936
15937  return PDFPageView;
15938}();
15939
15940exports.PDFPageView = PDFPageView;
15941
15942/***/ }),
15943/* 34 */
15944/***/ ((__unused_webpack_module, exports) => {
15945
15946
15947
15948Object.defineProperty(exports, "__esModule", ({
15949  value: true
15950}));
15951exports.StructTreeLayerBuilder = exports.DefaultStructTreeLayerFactory = void 0;
15952
15953function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
15954
15955function _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); }
15956
15957function _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; }
15958
15959function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15960
15961function _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); } }
15962
15963function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
15964
15965var PDF_ROLE_TO_HTML_ROLE = {
15966  Document: null,
15967  DocumentFragment: null,
15968  Part: "group",
15969  Sect: "group",
15970  Div: "group",
15971  Aside: "note",
15972  NonStruct: "none",
15973  P: null,
15974  H: "heading",
15975  Title: null,
15976  FENote: "note",
15977  Sub: "group",
15978  Lbl: null,
15979  Span: null,
15980  Em: null,
15981  Strong: null,
15982  Link: "link",
15983  Annot: "note",
15984  Form: "form",
15985  Ruby: null,
15986  RB: null,
15987  RT: null,
15988  RP: null,
15989  Warichu: null,
15990  WT: null,
15991  WP: null,
15992  L: "list",
15993  LI: "listitem",
15994  LBody: null,
15995  Table: "table",
15996  TR: "row",
15997  TH: "columnheader",
15998  TD: "cell",
15999  THead: "columnheader",
16000  TBody: null,
16001  TFoot: null,
16002  Caption: null,
16003  Figure: "figure",
16004  Formula: null,
16005  Artifact: null
16006};
16007var HEADING_PATTERN = /^H(\d+)$/;
16008
16009var StructTreeLayerBuilder = /*#__PURE__*/function () {
16010  function StructTreeLayerBuilder(_ref) {
16011    var pdfPage = _ref.pdfPage;
16012
16013    _classCallCheck(this, StructTreeLayerBuilder);
16014
16015    this.pdfPage = pdfPage;
16016  }
16017
16018  _createClass(StructTreeLayerBuilder, [{
16019    key: "render",
16020    value: function render(structTree) {
16021      return this._walk(structTree);
16022    }
16023  }, {
16024    key: "_setAttributes",
16025    value: function _setAttributes(structElement, htmlElement) {
16026      if (structElement.alt !== undefined) {
16027        htmlElement.setAttribute("aria-label", structElement.alt);
16028      }
16029
16030      if (structElement.id !== undefined) {
16031        htmlElement.setAttribute("aria-owns", structElement.id);
16032      }
16033    }
16034  }, {
16035    key: "_walk",
16036    value: function _walk(node) {
16037      if (!node) {
16038        return null;
16039      }
16040
16041      var element = document.createElement("span");
16042
16043      if ("role" in node) {
16044        var role = node.role;
16045        var match = role.match(HEADING_PATTERN);
16046
16047        if (match) {
16048          element.setAttribute("role", "heading");
16049          element.setAttribute("aria-level", match[1]);
16050        } else if (PDF_ROLE_TO_HTML_ROLE[role]) {
16051          element.setAttribute("role", PDF_ROLE_TO_HTML_ROLE[role]);
16052        }
16053      }
16054
16055      this._setAttributes(node, element);
16056
16057      if (node.children) {
16058        if (node.children.length === 1 && "id" in node.children[0]) {
16059          this._setAttributes(node.children[0], element);
16060        } else {
16061          var _iterator = _createForOfIteratorHelper(node.children),
16062              _step;
16063
16064          try {
16065            for (_iterator.s();
16065 !(_step = _iterator.n()).done;) {
16066              var kid = _step.value;
16067              element.appendChild(this._walk(kid));
16068            }
16069          } catch (err) {
16070            _iterator.e(err);
16071          } finally {
16072            _iterator.f();
16073          }
16074        }
16075      }
16076
16077      return element;
16078    }
16079  }]);
16080
16081  return StructTreeLayerBuilder;
16082}();
16083
16084exports.StructTreeLayerBuilder = StructTreeLayerBuilder;
16085
16086var DefaultStructTreeLayerFactory = /*#__PURE__*/function () {
16087  function DefaultStructTreeLayerFactory() {
16088    _classCallCheck(this, DefaultStructTreeLayerFactory);
16089  }
16090
16091  _createClass(DefaultStructTreeLayerFactory, [{
16092    key: "createStructTreeLayerBuilder",
16093    value: function createStructTreeLayerBuilder(pdfPage) {
16094      return new StructTreeLayerBuilder({
16095        pdfPage: pdfPage
16096      });
16097    }
16098  }]);
16099
16100  return DefaultStructTreeLayerFactory;
16101}();
16102
16103exports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory;
16104
16105/***/ }),
16106/* 35 */
16107/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16108
16109
16110
16111Object.defineProperty(exports, "__esModule", ({
16112  value: true
16113}));
16114exports.TextLayerBuilder = exports.DefaultTextLayerFactory = void 0;
16115
16116var _pdfjsLib = __webpack_require__(7);
16117
16118function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16119
16120function _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); } }
16121
16122function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
16123
16124var EXPAND_DIVS_TIMEOUT = 300;
16125
16126var TextLayerBuilder = /*#__PURE__*/function () {
16127  function TextLayerBuilder(_ref) {
16128    var textLayerDiv = _ref.textLayerDiv,
16129        eventBus = _ref.eventBus,
16130        pageIndex = _ref.pageIndex,
16131        viewport = _ref.viewport,
16132        _ref$findController = _ref.findController,
16133        findController = _ref$findController === void 0 ? null : _ref$findController,
16134        _ref$enhanceTextSelec = _ref.enhanceTextSelection,
16135        enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;
16136
16137    _classCallCheck(this, TextLayerBuilder);
16138
16139    this.textLayerDiv = textLayerDiv;
16140    this.eventBus = eventBus;
16141    this.textContent = null;
16142    this.textContentItemsStr = [];
16143    this.textContentStream = null;
16144    this.renderingDone = false;
16145    this.pageIdx = pageIndex;
16146    this.pageNumber = this.pageIdx + 1;
16147    this.matches = [];
16148    this.viewport = viewport;
16149    this.textDivs = [];
16150    this.findController = findController;
16151    this.textLayerRenderTask = null;
16152    this.enhanceTextSelection = enhanceTextSelection;
16153    this._onUpdateTextLayerMatches = null;
16154
16155    this._bindMouse();
16156  }
16157
16158  _createClass(TextLayerBuilder, [{
16159    key: "_finishRendering",
16160    value: function _finishRendering() {
16161      this.renderingDone = true;
16162
16163      if (!this.enhanceTextSelection) {
16164        var endOfContent = document.createElement("div");
16165        endOfContent.className = "endOfContent";
16166        this.textLayerDiv.appendChild(endOfContent);
16167      }
16168
16169      this.eventBus.dispatch("textlayerrendered", {
16170        source: this,
16171        pageNumber: this.pageNumber,
16172        numTextDivs: this.textDivs.length
16173      });
16174    }
16175  }, {
16176    key: "render",
16177    value: function render() {
16178      var _this = this;
16179
16180      var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
16181
16182      if (!(this.textContent || this.textContentStream) || this.renderingDone) {
16183        return;
16184      }
16185
16186      this.cancel();
16187      this.textDivs = [];
16188      var textLayerFrag = document.createDocumentFragment();
16189      this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({
16190        textContent: this.textContent,
16191        textContentStream: this.textContentStream,
16192        container: textLayerFrag,
16193        viewport: this.viewport,
16194        textDivs: this.textDivs,
16195        textContentItemsStr: this.textContentItemsStr,
16196        timeout: timeout,
16197        enhanceTextSelection: this.enhanceTextSelection
16198      });
16199      this.textLayerRenderTask.promise.then(function () {
16200        _this.textLayerDiv.appendChild(textLayerFrag);
16201
16202        _this._finishRendering();
16203
16204        _this._updateMatches();
16205      }, function (reason) {});
16206
16207      if (!this._onUpdateTextLayerMatches) {
16208        this._onUpdateTextLayerMatches = function (evt) {
16209          if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {
16210            _this._updateMatches();
16211          }
16212        };
16213
16214        this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches);
16215      }
16216    }
16217  }, {
16218    key: "cancel",
16219    value: function cancel() {
16220      if (this.textLayerRenderTask) {
16221        this.textLayerRenderTask.cancel();
16222        this.textLayerRenderTask = null;
16223      }
16224
16225      if (this._onUpdateTextLayerMatches) {
16226        this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches);
16227
16228        this._onUpdateTextLayerMatches = null;
16229      }
16230    }
16231  }, {
16232    key: "setTextContentStream",
16233    value: function setTextContentStream(readableStream) {
16234      this.cancel();
16235      this.textContentStream = readableStream;
16236    }
16237  }, {
16238    key: "setTextContent",
16239    value: function setTextContent(textContent) {
16240      this.cancel();
16241      this.textContent = textContent;
16242    }
16243  }, {
16244    key: "_convertMatches",
16245    value: function _convertMatches(matches, matchesLength) {
16246      if (!matches) {
16247        return [];
16248      }
16249
16250      var textContentItemsStr = this.textContentItemsStr;
16251      var i = 0,
16252          iIndex = 0;
16253      var end = textContentItemsStr.length - 1;
16254      var result = [];
16255
16256      for (var m = 0, mm = matches.length; m < mm; m++) {
16257        var matchIdx = matches[m];
16258
16259        while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
16260          iIndex += textContentItemsStr[i].length;
16261          i++;
16262        }
16263
16264        if (i === textContentItemsStr.length) {
16265          console.error("Could not find a matching mapping");
16266        }
16267
16268        var match = {
16269          begin: {
16270            divIdx: i,
16271            offset: matchIdx - iIndex
16272          }
16273        };
16274        matchIdx += matchesLength[m];
16275
16276        while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {
16277          iIndex += textContentItemsStr[i].length;
16278          i++;
16279        }
16280
16281        match.end = {
16282          divIdx: i,
16283          offset: matchIdx - iIndex
16284        };
16285        result.push(match);
16286      }
16287
16288      return result;
16289    }
16290  }, {
16291    key: "_renderMatches",
16292    value: function _renderMatches(matches) {
16293      if (matches.length === 0) {
16294        return;
16295      }
16296
16297      var findController = this.findController,
16298          pageIdx = this.pageIdx,
16299          textContentItemsStr = this.textContentItemsStr,
16300          textDivs = this.textDivs;
16301      var isSelectedPage = pageIdx === findController.selected.pageIdx;
16302      var selectedMatchIdx = findController.selected.matchIdx;
16303      var highlightAll = findController.state.highlightAll;
16304      var prevEnd = null;
16305      var infinity = {
16306        divIdx: -1,
16307        offset: undefined
16308      };
16309
16310      function beginText(begin, className) {
16311        var divIdx = begin.divIdx;
16312        textDivs[divIdx].textContent = "";
16313        return appendTextToDiv(divIdx, 0, begin.offset, className);
16314      }
16315
16316      function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
16317        var div = textDivs[divIdx];
16318        var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
16319        var node = document.createTextNode(content);
16320
16321        if (className) {
16322          var span = document.createElement("span");
16323          span.className = "".concat(className, " appended");
16324          span.appendChild(node);
16325          div.appendChild(span);
16326          return className.includes("selected") ? span.offsetLeft : 0;
16327        }
16328
16329        div.appendChild(node);
16330        return 0;
16331      }
16332
16333      var i0 = selectedMatchIdx,
16334          i1 = i0 + 1;
16335
16336      if (highlightAll) {
16337        i0 = 0;
16338        i1 = matches.length;
16339      } else if (!isSelectedPage) {
16340        return;
16341      }
16342
16343      for (var i = i0; i < i1; i++) {
16344        var match = matches[i];
16345        var begin = match.begin;
16346        var end = match.end;
16347        var isSelected = isSelectedPage && i === selectedMatchIdx;
16348        var highlightSuffix = isSelected ? " selected" : "";
16349        var selectedLeft = 0;
16350
16351        if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
16352          if (prevEnd !== null) {
16353            appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
16354          }
16355
16356          beginText(begin);
16357        } else {
16358          appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
16359        }
16360
16361        if (begin.divIdx === end.divIdx) {
16362          selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix);
16363        } else {
16364          selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix);
16365
16366          for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
16367            textDivs[n0].className = "highlight middle" + highlightSuffix;
16368          }
16369
16370          beginText(end, "highlight end" + highlightSuffix);
16371        }
16372
16373        prevEnd = end;
16374
16375        if (isSelected) {
16376          findController.scrollMatchIntoView({
16377            element: textDivs[begin.divIdx],
16378            selectedLeft: selectedLeft,
16379            pageIndex: pageIdx,
16380            matchIndex: selectedMatchIdx
16381          });
16382        }
16383      }
16384
16385      if (prevEnd) {
16386        appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
16387      }
16388    }
16389  }, {
16390    key: "_updateMatches",
16391    value: function _updateMatches() {
16392      if (!this.renderingDone) {
16393        return;
16394      }
16395
16396      var findController = this.findController,
16397          matches = this.matches,
16398          pageIdx = this.pageIdx,
16399          textContentItemsStr = this.textContentItemsStr,
16400          textDivs = this.textDivs;
16401      var clearedUntilDivIdx = -1;
16402
16403      for (var i = 0, ii = matches.length; i < ii; i++) {
16404        var match = matches[i];
16405        var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);
16406
16407        for (var n = begin, end = match.end.divIdx; n <= end; n++) {
16408          var div = textDivs[n];
16409          div.textContent = textContentItemsStr[n];
16410          div.className = "";
16411        }
16412
16413        clearedUntilDivIdx = match.end.divIdx + 1;
16414      }
16415
16416      if (!(findController !== null && findController !== void 0 && findController.highlightMatches)) {
16417        return;
16418      }
16419
16420      var pageMatches = findController.pageMatches[pageIdx] || null;
16421      var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
16422      this.matches = this._convertMatches(pageMatches, pageMatchesLength);
16423
16424      this._renderMatches(this.matches);
16425    }
16426  }, {
16427    key: "_bindMouse",
16428    value: function _bindMouse() {
16429      var _this2 = this;
16430
16431      var div = this.textLayerDiv;
16432      var expandDivsTimer = null;
16433      div.addEventListener("mousedown", function (evt) {
16434        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
16435          _this2.textLayerRenderTask.expandTextDivs(true);
16436
16437          if (expandDivsTimer) {
16438            clearTimeout(expandDivsTimer);
16439            expandDivsTimer = null;
16440          }
16441
16442          return;
16443        }
16444
16445        var end = div.querySelector(".endOfContent");
16446
16447        if (!end) {
16448          return;
16449        }
16450
16451        var adjustTop = evt.target !== div;
16452        adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none";
16453
16454        if (adjustTop) {
16455          var divBounds = div.getBoundingClientRect();
16456          var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
16457          end.style.top = (r * 100).toFixed(2) + "%";
16458        }
16459
16460        end.classList.add("active");
16461      });
16462      div.addEventListener("mouseup", function () {
16463        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
16464          expandDivsTimer = setTimeout(function () {
16465            if (_this2.textLayerRenderTask) {
16466              _this2.textLayerRenderTask.expandTextDivs(false);
16467            }
16468
16469            expandDivsTimer = null;
16470          }, EXPAND_DIVS_TIMEOUT);
16471          return;
16472        }
16473
16474        var end = div.querySelector(".endOfContent");
16475
16476        if (!end) {
16477          return;
16478        }
16479
16480        end.style.top = "";
16481        end.classList.remove("active");
16482      });
16483    }
16484  }]);
16485
16486  return TextLayerBuilder;
16487}();
16488
16489exports.TextLayerBuilder = TextLayerBuilder;
16490
16491var DefaultTextLayerFactory = /*#__PURE__*/function () {
16492  function DefaultTextLayerFactory() {
16493    _classCallCheck(this, DefaultTextLayerFactory);
16494  }
16495
16496  _createClass(DefaultTextLayerFactory, [{
16497    key: "createTextLayerBuilder",
16498    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
16499      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
16500      var eventBus = arguments.length > 4 ? arguments[4] : undefined;
16501      return new TextLayerBuilder({
16502        textLayerDiv: textLayerDiv,
16503        pageIndex: pageIndex,
16504        viewport: viewport,
16505        enhanceTextSelection: enhanceTextSelection,
16506        eventBus: eventBus
16507      });
16508    }
16509  }]);
16510
16511  return DefaultTextLayerFactory;
16512}();
16513
16514exports.DefaultTextLayerFactory = DefaultTextLayerFactory;
16515
16516/***/ }),
16517/* 36 */
16518/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16519
16520
16521
16522Object.defineProperty(exports, "__esModule", ({
16523  value: true
16524}));
16525exports.XfaLayerBuilder = exports.DefaultXfaLayerFactory = void 0;
16526
16527var _pdfjsLib = __webpack_require__(7);
16528
16529function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16530
16531function _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); } }
16532
16533function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
16534
16535var XfaLayerBuilder = /*#__PURE__*/function () {
16536  function XfaLayerBuilder(_ref) {
16537    var pageDiv = _ref.pageDiv,
16538        pdfPage = _ref.pdfPage,
16539        xfaHtml = _ref.xfaHtml,
16540        annotationStorage = _ref.annotationStorage;
16541
16542    _classCallCheck(this, XfaLayerBuilder);
16543
16544    this.pageDiv = pageDiv;
16545    this.pdfPage = pdfPage;
16546    this.xfaHtml = xfaHtml;
16547    this.annotationStorage = annotationStorage;
16548    this.div = null;
16549    this._cancelled = false;
16550  }
16551
16552  _createClass(XfaLayerBuilder, [{
16553    key: "render",
16554    value: function render(viewport) {
16555      var _this = this;
16556
16557      var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display";
16558
16559      if (intent === "print") {
16560        var parameters = {
16561          viewport: viewport.clone({
16562            dontFlip: true
16563          }),
16564          div: this.div,
16565          xfa: this.xfaHtml,
16566          page: null,
16567          annotationStorage: this.annotationStorage,
16568          intent: intent
16569        };
16570        var div = document.createElement("div");
16571        this.pageDiv.appendChild(div);
16572        parameters.div = div;
16573
16574        _pdfjsLib.XfaLayer.render(parameters);
16575
16576        return Promise.resolve();
16577      }
16578
16579      return this.pdfPage.getXfa().then(function (xfa) {
16580        if (_this._cancelled) {
16581          return;
16582        }
16583
16584        var parameters = {
16585          viewport: viewport.clone({
16586            dontFlip: true
16587          }),
16588          div: _this.div,
16589          xfa: xfa,
16590          page: _this.pdfPage,
16591          annotationStorage: _this.annotationStorage,
16592          intent: intent
16593        };
16594
16595        if (_this.div) {
16596          _pdfjsLib.XfaLayer.update(parameters);
16597        } else {
16598          _this.div = document.createElement("div");
16599
16600          _this.pageDiv.appendChild(_this.div);
16601
16602          parameters.div = _this.div;
16603
16604          _pdfjsLib.XfaLayer.render(parameters);
16605        }
16606      })["catch"](function (error) {
16607        console.error(error);
16608      });
16609    }
16610  }, {
16611    key: "cancel",
16612    value: function cancel() {
16613      this._cancelled = true;
16614    }
16615  }, {
16616    key: "hide",
16617    value: function hide() {
16618      if (!this.div) {
16619        return;
16620      }
16621
16622      this.div.hidden = true;
16623    }
16624  }]);
16625
16626  return XfaLayerBuilder;
16627}();
16628
16629exports.XfaLayerBuilder = XfaLayerBuilder;
16630
16631var DefaultXfaLayerFactory = /*#__PURE__*/function () {
16632  function DefaultXfaLayerFactory() {
16633    _classCallCheck(this, DefaultXfaLayerFactory);
16634  }
16635
16636  _createClass(DefaultXfaLayerFactory, [{
16637    key: "createXfaLayerBuilder",
16638    value: function createXfaLayerBuilder(pageDiv, pdfPage) {
16639      var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
16640      var xfaHtml = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
16641      return new XfaLayerBuilder({
16642        pageDiv: pageDiv,
16643        pdfPage: pdfPage,
16644        annotationStorage: annotationStorage,
16645        xfaHtml: xfaHtml
16646      });
16647    }
16648  }]);
16649
16650  return DefaultXfaLayerFactory;
16651}();
16652
16653exports.DefaultXfaLayerFactory = DefaultXfaLayerFactory;
16654
16655/***/ }),
16656/* 37 */
16657/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16658
16659
16660
16661Object.defineProperty(exports, "__esModule", ({
16662  value: true
16663}));
16664exports.SecondaryToolbar = void 0;
16665
16666var _ui_utils = __webpack_require__(6);
16667
16668var _pdf_cursor_tools = __webpack_require__(8);
16669
16670var _pdf_single_page_viewer = __webpack_require__(38);
16671
16672function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
16673
16674function _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); }
16675
16676function _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; }
16677
16678function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16679
16680function _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); } }
16681
16682function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
16683
16684var SecondaryToolbar = /*#__PURE__*/function () {
16685  function SecondaryToolbar(options, mainContainer, eventBus) {
16686    var _this = this;
16687
16688    _classCallCheck(this, SecondaryToolbar);
16689
16690    this.toolbar = options.toolbar;
16691    this.toggleButton = options.toggleButton;
16692    this.toolbarButtonContainer = options.toolbarButtonContainer;
16693    this.buttons = [{
16694      element: options.presentationModeButton,
16695      eventName: "presentationmode",
16696      close: true
16697    }, {
16698      element: options.openFileButton,
16699      eventName: "openfile",
16700      close: true
16701    }, {
16702      element: options.printButton,
16703      eventName: "print",
16704      close: true
16705    }, {
16706      element: options.downloadButton,
16707      eventName: "download",
16708      close: true
16709    }, {
16710      element: options.viewBookmarkButton,
16711      eventName: null,
16712      close: true
16713    }, {
16714      element: options.firstPageButton,
16715      eventName: "firstpage",
16716      close: true
16717    }, {
16718      element: options.lastPageButton,
16719      eventName: "lastpage",
16720      close: true
16721    }, {
16722      element: options.pageRotateCwButton,
16723      eventName: "rotatecw",
16724      close: false
16725    }, {
16726      element: options.pageRotateCcwButton,
16727      eventName: "rotateccw",
16728      close: false
16729    }, {
16730      element: options.cursorSelectToolButton,
16731      eventName: "switchcursortool",
16732      eventDetails: {
16733        tool: _pdf_cursor_tools.CursorTool.SELECT
16734      },
16735      close: true
16736    }, {
16737      element: options.cursorHandToolButton,
16738      eventName: "switchcursortool",
16739      eventDetails: {
16740        tool: _pdf_cursor_tools.CursorTool.HAND
16741      },
16742      close: true
16743    }, {
16744      element: options.scrollVerticalButton,
16745      eventName: "switchscrollmode",
16746      eventDetails: {
16747        mode: _ui_utils.ScrollMode.VERTICAL
16748      },
16749      close: true
16750    }, {
16751      element: options.scrollHorizontalButton,
16752      eventName: "switchscrollmode",
16753      eventDetails: {
16754        mode: _ui_utils.ScrollMode.HORIZONTAL
16755      },
16756      close: true
16757    }, {
16758      element: options.scrollWrappedButton,
16759      eventName: "switchscrollmode",
16760      eventDetails: {
16761        mode: _ui_utils.ScrollMode.WRAPPED
16762      },
16763      close: true
16764    }, {
16765      element: options.spreadNoneButton,
16766      eventName: "switchspreadmode",
16767      eventDetails: {
16768        mode: _ui_utils.SpreadMode.NONE
16769      },
16770      close: true
16771    }, {
16772      element: options.spreadOddButton,
16773      eventName: "switchspreadmode",
16774      eventDetails: {
16775        mode: _ui_utils.SpreadMode.ODD
16776      },
16777      close: true
16778    }, {
16779      element: options.spreadEvenButton,
16780      eventName: "switchspreadmode",
16781      eventDetails: {
16782        mode: _ui_utils.SpreadMode.EVEN
16783      },
16784      close: true
16785    }, {
16786      element: options.documentPropertiesButton,
16787      eventName: "documentproperties",
16788      close: true
16789    }];
16790    this.items = {
16791      firstPage: options.firstPageButton,
16792      lastPage: options.lastPageButton,
16793      pageRotateCw: options.pageRotateCwButton,
16794      pageRotateCcw: options.pageRotateCcwButton
16795    };
16796    this.mainContainer = mainContainer;
16797    this.eventBus = eventBus;
16798    this.opened = false;
16799    this.containerHeight = null;
16800    this.previousContainerHeight = null;
16801    this.reset();
16802
16803    this._bindClickListeners();
16804
16805    this._bindCursorToolsListener(options);
16806
16807    this._bindScrollModeListener(options);
16808
16809    this._bindSpreadModeListener(options);
16810
16811    this.eventBus._on("resize", this._setMaxHeight.bind(this));
16812
16813    this.eventBus._on("baseviewerinit", function (evt) {
16814      if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) {
16815        _this.toolbarButtonContainer.classList.add("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
16816      } else {
16817        _this.toolbarButtonContainer.classList.remove("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
16818      }
16819    });
16820  }
16821
16822  _createClass(SecondaryToolbar, [{
16823    key: "isOpen",
16824    get: function get() {
16825      return this.opened;
16826    }
16827  }, {
16828    key: "setPageNumber",
16829    value: function setPageNumber(pageNumber) {
16830      this.pageNumber = pageNumber;
16831
16832      this._updateUIState();
16833    }
16834  }, {
16835    key: "setPagesCount",
16836    value: function setPagesCount(pagesCount) {
16837      this.pagesCount = pagesCount;
16838
16839      this._updateUIState();
16840    }
16841  }, {
16842    key: "reset",
16843    value: function reset() {
16844      this.pageNumber = 0;
16845      this.pagesCount = 0;
16846
16847      this._updateUIState();
16848
16849      this.eventBus.dispatch("secondarytoolbarreset", {
16850        source: this
16851      });
16852    }
16853  }, {
16854    key: "_updateUIState",
16855    value: function _updateUIState() {
16856      this.items.firstPage.disabled = this.pageNumber <= 1;
16857      this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
16858      this.items.pageRotateCw.disabled = this.pagesCount === 0;
16859      this.items.pageRotateCcw.disabled = this.pagesCount === 0;
16860    }
16861  }, {
16862    key: "_bindClickListeners",
16863    value: function _bindClickListeners() {
16864      var _this2 = this;
16865
16866      this.toggleButton.addEventListener("click", this.toggle.bind(this));
16867
16868      var _iterator = _createForOfIteratorHelper(this.buttons),
16869          _step;
16870
16871      try {
16872        var _loop = function _loop() {
16873          var _step$value = _step.value,
16874              element = _step$value.element,
16875              eventName = _step$value.eventName,
16876              close = _step$value.close,
16877              eventDetails = _step$value.eventDetails;
16878          element.addEventListener("click", function (evt) {
16879            if (eventName !== null) {
16880              var details = {
16881                source: _this2
16882              };
16883
16884              for (var property in eventDetails) {
16885                details[property] = eventDetails[property];
16886              }
16887
16888              _this2.eventBus.dispatch(eventName, details);
16889            }
16890
16891            if (close) {
16892              _this2.close();
16893            }
16894          });
16895        };
16896
16897        for (_iterator.s(); !(_step = _iterator.n()).done;) {
16898          _loop();
16899        }
16900      } catch (err) {
16901        _iterator.e(err);
16902      } finally {
16903        _iterator.f();
16904      }
16905    }
16906  }, {
16907    key: "_bindCursorToolsListener",
16908    value: function _bindCursorToolsListener(buttons) {
16909      this.eventBus._on("cursortoolchanged", function (_ref) {
16910        var tool = _ref.tool;
16911        buttons.cursorSelectToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.SELECT);
16912        buttons.cursorHandToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.HAND);
16913      });
16914    }
16915  }, {
16916    key: "_bindScrollModeListener",
16917    value: function _bindScrollModeListener(buttons) {
16918      var _this3 = this;
16919
16920      function scrollModeChanged(_ref2) {
16921        var mode = _ref2.mode;
16922        buttons.scrollVerticalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.VERTICAL);
16923        buttons.scrollHorizontalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.HORIZONTAL);
16924        buttons.scrollWrappedButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.WRAPPED);
16925        var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
16926        buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
16927        buttons.spreadOddButton.disabled = isScrollModeHorizontal;
16928        buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
16929      }
16930
16931      this.eventBus._on("scrollmodechanged", scrollModeChanged);
16932
16933      this.eventBus._on("secondarytoolbarreset", function (evt) {
16934        if (evt.source === _this3) {
16935          scrollModeChanged({
16936            mode: _ui_utils.ScrollMode.VERTICAL
16937          });
16938        }
16939      });
16940    }
16941  }, {
16942    key: "_bindSpreadModeListener",
16943    value: function _bindSpreadModeListener(buttons) {
16944      var _this4 = this;
16945
16946      function spreadModeChanged(_ref3) {
16947        var mode = _ref3.mode;
16948        buttons.spreadNoneButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.NONE);
16949        buttons.spreadOddButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.ODD);
16950        buttons.spreadEvenButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.EVEN);
16951      }
16952
16953      this.eventBus._on("spreadmodechanged", spreadModeChanged);
16954
16955      this.eventBus._on("secondarytoolbarreset", function (evt) {
16956        if (evt.source === _this4) {
16957          spreadModeChanged({
16958            mode: _ui_utils.SpreadMode.NONE
16959          });
16960        }
16961      });
16962    }
16963  }, {
16964    key: "open",
16965    value: function open() {
16966      if (this.opened) {
16967        return;
16968      }
16969
16970      this.opened = true;
16971
16972      this._setMaxHeight();
16973
16974      this.toggleButton.classList.add("toggled");
16975      this.toggleButton.setAttribute("aria-expanded", "true");
16976      this.toolbar.classList.remove("hidden");
16977    }
16978  }, {
16979    key: "close",
16980    value: function close() {
16981      if (!this.opened) {
16982        return;
16983      }
16984
16985      this.opened = false;
16986      this.toolbar.classList.add("hidden");
16987      this.toggleButton.classList.remove("toggled");
16988      this.toggleButton.setAttribute("aria-expanded", "false");
16989    }
16990  }, {
16991    key: "toggle",
16992    value: function toggle() {
16993      if (this.opened) {
16994        this.close();
16995      } else {
16996        this.open();
16997      }
16998    }
16999  }, {
17000    key: "_setMaxHeight",
17001    value: function _setMaxHeight() {
17002      if (!this.opened) {
17003        return;
17004      }
17005
17006      this.containerHeight = this.mainContainer.clientHeight;
17007
17008      if (this.containerHeight === this.previousContainerHeight) {
17009        return;
17010      }
17011
17012      this.toolbarButtonContainer.style.maxHeight = "".concat(this.containerHeight - _ui_utils.SCROLLBAR_PADDING, "px");
17013      this.previousContainerHeight = this.containerHeight;
17014    }
17015  }]);
17016
17017  return SecondaryToolbar;
17018}();
17019
17020exports.SecondaryToolbar = SecondaryToolbar;
17021
17022/***/ }),
17023/* 38 */
17024/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
17025
17026
17027
17028function _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); }
17029
17030Object.defineProperty(exports, "__esModule", ({
17031  value: true
17032}));
17033exports.PDFSinglePageViewer = void 0;
17034
17035var _base_viewer = __webpack_require__(30);
17036
17037var _pdfjsLib = __webpack_require__(7);
17038
17039function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17040
17041function _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); } }
17042
17043function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17044
17045function _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); }
17046
17047function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
17048
17049function _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, { c
17049onstructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
17050
17051function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
17052
17053function _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); }; }
17054
17055function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
17056
17057function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
17058
17059function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
17060
17061function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
17062
17063var PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {
17064  _inherits(PDFSinglePageViewer, _BaseViewer);
17065
17066  var _super = _createSuper(PDFSinglePageViewer);
17067
17068  function PDFSinglePageViewer(options) {
17069    var _this;
17070
17071    _classCallCheck(this, PDFSinglePageViewer);
17072
17073    _this = _super.call(this, options);
17074
17075    _this.eventBus._on("pagesinit", function (evt) {
17076      _this._ensurePageViewVisible();
17077    });
17078
17079    return _this;
17080  }
17081
17082  _createClass(PDFSinglePageViewer, [{
17083    key: "_viewerElement",
17084    get: function get() {
17085      return (0, _pdfjsLib.shadow)(this, "_viewerElement", this._shadowViewer);
17086    }
17087  }, {
17088    key: "_pageWidthScaleFactor",
17089    get: function get() {
17090      return 1;
17091    }
17092  }, {
17093    key: "_resetView",
17094    value: function _resetView() {
17095      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this);
17096
17097      this._previousPageNumber = 1;
17098      this._shadowViewer = document.createDocumentFragment();
17099      this._updateScrollDown = null;
17100    }
17101  }, {
17102    key: "_ensurePageViewVisible",
17103    value: function _ensurePageViewVisible() {
17104      var pageView = this._pages[this._currentPageNumber - 1];
17105      var previousPageView = this._pages[this._previousPageNumber - 1];
17106      var viewerNodes = this.viewer.childNodes;
17107
17108      switch (viewerNodes.length) {
17109        case 0:
17110          this.viewer.appendChild(pageView.div);
17111          break;
17112
17113        case 1:
17114          if (viewerNodes[0] !== previousPageView.div) {
17115            throw new Error("_ensurePageViewVisible: Unexpected previously visible page.");
17116          }
17117
17118          if (pageView === previousPageView) {
17119            break;
17120          }
17121
17122          this._shadowViewer.appendChild(previousPageView.div);
17123
17124          this.viewer.appendChild(pageView.div);
17125          this.container.scrollTop = 0;
17126          break;
17127
17128        default:
17129          throw new Error("_ensurePageViewVisible: Only one page should be visible at a time.");
17130      }
17131
17132      this._previousPageNumber = this._currentPageNumber;
17133    }
17134  }, {
17135    key: "_scrollUpdate",
17136    value: function _scrollUpdate() {
17137      if (this._updateScrollDown) {
17138        this._updateScrollDown();
17139      }
17140
17141      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollUpdate", this).call(this);
17142    }
17143  }, {
17144    key: "_scrollIntoView",
17145    value: function _scrollIntoView(_ref) {
17146      var _this2 = this;
17147
17148      var pageDiv = _ref.pageDiv,
17149          _ref$pageSpot = _ref.pageSpot,
17150          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
17151          _ref$pageNumber = _ref.pageNumber,
17152          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
17153
17154      if (pageNumber) {
17155        this._setCurrentPageNumber(pageNumber);
17156      }
17157
17158      var scrolledDown = this._currentPageNumber >= this._previousPageNumber;
17159
17160      this._ensurePageViewVisible();
17161
17162      this.update();
17163
17164      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollIntoView", this).call(this, {
17165        pageDiv: pageDiv,
17166        pageSpot: pageSpot,
17167        pageNumber: pageNumber
17168      });
17169
17170      this._updateScrollDown = function () {
17171        _this2.scroll.down = scrolledDown;
17172        _this2._updateScrollDown = null;
17173      };
17174    }
17175  }, {
17176    key: "_getVisiblePages",
17177    value: function _getVisiblePages() {
17178      return this._getCurrentVisiblePage();
17179    }
17180  }, {
17181    key: "_updateHelper",
17182    value: function _updateHelper(visiblePages) {}
17183  }, {
17184    key: "_isScrollModeHorizontal",
17185    get: function get() {
17186      return (0, _pdfjsLib.shadow)(this, "_isScrollModeHorizontal", false);
17187    }
17188  }, {
17189    key: "_updateScrollMode",
17190    value: function _updateScrollMode() {}
17191  }, {
17192    key: "_updateSpreadMode",
17193    value: function _updateSpreadMode() {}
17194  }, {
17195    key: "_getPageAdvance",
17196    value: function _getPageAdvance() {
17197      return 1;
17198    }
17199  }]);
17200
17201  return PDFSinglePageViewer;
17202}(_base_viewer.BaseViewer);
17203
17204exports.PDFSinglePageViewer = PDFSinglePageViewer;
17205
17206/***/ }),
17207/* 39 */
17208/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
17209
17210
17211
17212Object.defineProperty(exports, "__esModule", ({
17213  value: true
17214}));
17215exports.Toolbar = void 0;
17216
17217var _regenerator = _interopRequireDefault(__webpack_require__(4));
17218
17219var _ui_utils = __webpack_require__(6);
17220
17221function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17222
17223function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
vendor: 3,590 bytes, lines 17223-17265
17223y { 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); } }
17224
17225function _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); }); }; }
17226
17227function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
17228
17229function _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); }
17230
17231function _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; }
17232
17233function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17234
17235function _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); } }
17236
17237function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17238
17239var PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading";
17240var SCALE_SELECT_CONTAINER_WIDTH = 140;
17241var SCALE_SELECT_WIDTH = 162;
17242
17243var Toolbar = /*#__PURE__*/function () {
17244  function Toolbar(options, eventBus, l10n) {
17245    _classCallCheck(this, Toolbar);
17246
17247    this.toolbar = options.container;
17248    this.eventBus = eventBus;
17249    this.l10n = l10n;
17250    this.buttons = [{
17251      element: options.previous,
17252      eventName: "previouspage"
17253    }, {
17254      element: options.next,
17255      eventName: "nextpage"
17256    }, {
17257      element: options.zoomIn,
17258      eventName: "zoomin"
17259    }, {
17260      element: options.zoomOut,
17261      eventName: "zoomout"
17262    }, {
17263      element: options.openFile,
17264      eventName: "openfile"
17265    }, {
17266      element: options.print,
17267      eventName: "print"
17268    }, {
17269      element: options.presentationModeButton,
17270      eventName: "presentationmode"
17271    }, {
17272      element: options.download,
17273      eventName: "download"
17274    }, {
17275      element: options.viewBookmark,
17276      eventName: null
17277    }];
17278    this.items = {
17279      numPages: options.numPages,
17280      pageNumber: options.pageNumber,
17281      scaleSelectContainer: options.scaleSelectContainer,
17282      scaleSelect: options.scaleSelect,
17283      customScaleOption: options.customScaleOption,
17284      previous: options.previous,
17285      next: options.next,
17286      zoomIn: options.zoomIn,
17287      zoomOut: options.zoomOut
17288    };
17289    this._wasLocalized = false;
17290    this.reset();
17291
17292    this._bindListeners();
17293  }
17294
17295  _createClass(Toolbar, [{
17296    key: "setPageNumber",
17297    value: function setPageNumber(pageNumber, pageLabel) {
17298      this.pageNumber = pageNumber;
17299      this.pageLabel = pageLabel;
17300
17301      this._updateUIState(false);
17302    }
17303  }, {
17304    key: "setPagesCount",
17305    value: function setPagesCount(pagesCount, hasPageLabels) {
17306      this.pagesCount = pagesCount;
17307      this.hasPageLabels = hasPageLabels;
17308
17309      this._updateUIState(true);
17310    }
17311  }, {
17312    key: "setPageScale",
17313    value: function setPageScale(pageScaleValue, pageScale) {
17314      this.pageScaleValue = (pageScaleValue || pageScale).toString();
17315      this.pageScale = pageScale;
17316
17317      this._updateUIState(false);
17318    }
17319  }, {
17320    key: "reset",
17321    value: function reset() {
17322      this.pageNumber = 0;
17323      this.pageLabel = null;
17324      this.hasPageLabels = false;
17325      this.pagesCount = 0;
17326      this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
17327      this.pageScale = _ui_utils.DEFAULT_SCALE;
17328
17329      this._updateUIState(true);
17330
17331      this.updateLoadingIndicatorState();
17332    }
17333  }, {
17334    key: "_bindListeners",
17335    value: function _bindListeners() {
17336      var _this = this;
17337
17338      var _this$items = this.items,
17339          pageNumber = _this$items.pageNumber,
17340          scaleSelect = _this$items.scaleSelect;
17341      var self = this;
17342
17343      var _iterator = _createForOfIteratorHelper(this.buttons),
17344          _step;
17345
17346      try {
17347        var _loop = function _loop() {
17348          var _step$value = _step.value,
17349              element = _step$value.element,
17350              eventName = _step$value.eventName;
17351          element.addEventListener("click", function (evt) {
17352            if (eventName !== null) {
17353              _this.eventBus.dispatch(eventName, {
17354                source: _this
17355              });
17356            }
17357          });
17358        };
17359
17360        for (_iterator.s(); !(_step = _iterator.n()).done;) {
17361          _loop();
17362        }
17363      } catch (err) {
17364        _iterator.e(err);
17365      } finally {
17366        _iterator.f();
17367      }
17368
17369      pageNumber.addEventListener("click", function () {
17370        this.select();
17371      });
17372      pageNumber.addEventListener("change", function () {
17373        self.eventBus.dispatch("pagenumberchanged", {
17374          source: self,
17375          value: this.value
17376        });
17377      });
17378      scaleSelect.addEventListener("change", function () {
17379        if (this.value === "custom") {
17380          return;
17381        }
17382
17383        self.eventBus.dispatch("scalechanged", {
17384          source: self,
17385          value: this.value
17386        });
17387      });
17388      scaleSelect.addEventListener("click", function (evt) {
17389        var target = evt.target;
17390
17391        if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") {
17392          this.blur();
17393        }
17394      });
17395      scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
17396
17397      this.eventBus._on("localized", function () {
17398        _this._wasLocalized = true;
17399
17400        _this._adjustScaleWidth();
17401
17402        _this._updateUIState(true);
17403      });
17404    }
17405  }, {
17406    key: "_updateUIState",
17407    value: function _updateUIState() {
17408      var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
17409
17410      if (!this._wasLocalized) {
17411        return;
17412      }
17413
17414      var pageNumber = this.pageNumber,
17415          pagesCount = this.pagesCount,
17416          pageScaleValue = this.pageScaleValue,
17417          pageScale = this.pageScale,
17418          items = this.items;
17419
17420      if (resetNumPages) {
17421        if (this.hasPageLabels) {
17422          items.pageNumber.type = "text";
17423        } else {
17424          items.pageNumber.type = "number";
17425          this.l10n.get("of_pages", {
17426            pagesCount: pagesCount
17427          }).then(function (msg) {
17428            items.numPages.textContent = msg;
17429          });
17430        }
17431
17432        items.pageNumber.max = pagesCount;
17433      }
17434
17435      if (this.hasPageLabels) {
17436        items.pageNumber.value = this.pageLabel;
17437        this.l10n.get("page_of_pages", {
17438          pageNumber: pageNumber,
17439          pagesCount: pagesCount
17440        }).then(function (msg) {
17441          items.numPages.textContent = msg;
17442        });
17443      } else {
17444        items.pageNumber.value = pageNumber;
17445      }
17446
17447      items.previous.disabled = pageNumber <= 1;
17448      items.next.disabled = pageNumber >= pagesCount;
17449      items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
17450      items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
17451      this.l10n.get("page_scale_percent", {
17452        scale: Math.round(pageScale * 10000) / 100
17453      }).then(function (msg) {
17454        var predefinedValueFound = false;
17455
17456        var _iterator2 = _createForOfIteratorHelper(items.scaleSelect.options),
17457            _step2;
17458
17459        try {
17460          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
17461            var option = _step2.value;
17462
17463            if (option.value !== pageScaleValue) {
17464              option.selected = false;
17465              continue;
17466            }
17467
17468            option.selected = true;
17469            predefinedValueFound = true;
17470          }
17471        } catch (err) {
17472          _iterator2.e(err);
17473        } finally {
17474          _iterator2.f();
17475        }
17476
17477        if (!predefinedValueFound) {
17478          items.customScaleOption.textContent = msg;
17479          items.customScaleOption.selected = true;
17480        }
17481      });
17482    }
17483  }, {
17484    key: "updateLoadingIndicatorState",
17485    value: function updateLoadingIndicatorState() {
17486      var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
17487      var pageNumberInput = this.items.pageNumber;
17488      pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
17489    }
17490  }, {
17491    key: "_adjustScaleWidth",
17492    value: function () {
17493      var _adjustScaleWidth2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
17494        var items, l10n, predefinedValuesPromise, canvas, ctx, _getComputedStyle, fontSize, fontFamily, maxWidth, _iterator3, _step3, predefinedValue, _ctx$measureText, width, overflow;
17495
17496        return _regenerator["default"].wrap(function _callee$(_context) {
17497          while (1) {
17498            switch (_context.prev = _context.next) {
17499              case 0:
17500                items = this.items, l10n = this.l10n;
17501                predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto"), l10n.get("page_scale_actual"), l10n.get("page_scale_fit"), l10n.get("page_scale_width")]);
17502                canvas = document.createElement("canvas");
17503                canvas.mozOpaque = true;
17504                ctx = canvas.getContext("2d", {
17505                  alpha: false
17506                });
17507                _context.next = 7;
17508                return _ui_utils.animationStarted;
17509
17510              case 7:
17511                _getComputedStyle = getComputedStyle(items.scaleSelect), fontSize = _getComputedStyle.fontSize, fontFamily = _getComputedStyle.fontFamily;
17512                ctx.font = "".concat(fontSize, " ").concat(fontFamily);
17513                maxWidth = 0;
17514                _context.t0 = _createForOfIteratorHelper;
17515                _context.next = 13;
17516                return predefinedValuesPromise;
17517
17518              case 13:
17519                _context.t1 = _context.sent;
17520                _iterator3 = (0, _context.t0)(_context.t1);
17521
17522                try {
17523                  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
17524                    predefinedValue = _step3.value;
17525                    _ctx$measureText = ctx.measureText(predefinedValue), width = _ctx$measureText.width;
17526
17527                    if (width > maxWidth) {
17528                      maxWidth = width;
17529                    }
17530                  }
17531                } catch (err) {
17532                  _iterator3.e(err);
17533                } finally {
17534                  _iterator3.f();
17535                }
17536
17537                overflow = SCALE_SELECT_WIDTH - SCALE_SELECT_CONTAINER_WIDTH;
17538                maxWidth += 2 * overflow;
17539
17540                if (maxWidth > SCALE_SELECT_CONTAINER_WIDTH) {
17541                  items.scaleSelect.style.width = "".concat(maxWidth + overflow, "px");
17542                  items.scaleSelectContainer.style.width = "".concat(maxWidth, "px");
17543                }
17544
17545                canvas.width = 0;
17546                canvas.height = 0;
17547                canvas = ctx = null;
17548
17549              case 22:
17550              case "end":
17551                return _context.stop();
17552            }
17553          }
17554        }, _callee, this);
17555      }));
17556
17557      function _adjustScaleWidth() {
17558        return _adjustScaleWidth2.apply(this, arguments);
17559      }
17560
17561      return _adjustScaleWidth;
17562    }()
17563  }]);
17564
17565  return Toolbar;
17566}();
17567
17568exports.Toolbar = Toolbar;
17569
17570/***/ }),
17571/* 40 */
17572/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
17573
17574
17575
17576Object.defineProperty(exports, "__esModule", ({
17577  value: true
17578}));
17579exports.ViewHistory = void 0;
17580
17581var _regenerator = _interopRequireDefault(__webpack_require__(4));
17582
17583function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17584
17585function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
17585y { 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); } }
17586
17587function _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); }); }; }
17588
17589function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17590
17591function _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); } }
17592
17593function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17594
17595var DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
17596
17597var ViewHistory = /*#__PURE__*/function () {
17598  function ViewHistory(fingerprint) {
17599    var _this = this;
17600
17601    var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE;
17602
17603    _classCallCheck(this, ViewHistory);
17604
17605    this.fingerprint = fingerprint;
17606    this.cacheSize = cacheSize;
17607    this._initializedPromise = this._readFromStorage().then(function (databaseStr) {
17608      var database = JSON.parse(databaseStr || "{}");
17609      var index = -1;
17610
17611      if (!Array.isArray(database.files)) {
17612        database.files = [];
17613      } else {
17614        while (database.files.length >= _this.cacheSize) {
17615          database.files.shift();
17616        }
17617
17618        for (var i = 0, ii = database.files.length; i < ii; i++) {
17619          var branch = database.files[i];
17620
17621          if (branch.fingerprint === _this.fingerprint) {
17622            index = i;
17623            break;
17624          }
17625        }
17626      }
17627
17628      if (index === -1) {
17629        index = database.files.push({
17630          fingerprint: _this.fingerprint
17631        }) - 1;
17632      }
17633
17634      _this.file = database.files[index];
17635      _this.database = database;
17636    });
17637  }
17638
17639  _createClass(ViewHistory, [{
17640    key: "_writeToStorage",
17641    value: function () {
17642      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
17643        var databaseStr;
17644        return _regenerator["default"].wrap(function _callee$(_context) {
17645          while (1) {
17646            switch (_context.prev = _context.next) {
17647              case 0:
17648                databaseStr = JSON.stringify(this.database);
17649                localStorage.setItem("pdfjs.history", databaseStr);
17650
17651              case 2:
17652              case "end":
17653                return _context.stop();
17654            }
17655          }
17656        }, _callee, this);
17657      }));
17658
17659      function _writeToStorage() {
17660        return _writeToStorage2.apply(this, arguments);
17661      }
17662
17663      return _writeToStorage;
17664    }()
17665  }, {
17666    key: "_readFromStorage",
17667    value: function () {
17668      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
17669        return _regenerator["default"].wrap(function _callee2$(_context2) {
17670          while (1) {
17671            switch (_context2.prev = _context2.next) {
17672              case 0:
17673                return _context2.abrupt("return", localStorage.getItem("pdfjs.history"));
17674
17675              case 1:
17676              case "end":
17677                return _context2.stop();
17678            }
17679          }
17680        }, _callee2);
17681      }));
17682
17683      function _readFromStorage() {
17684        return _readFromStorage2.apply(this, arguments);
17685      }
17686
17687      return _readFromStorage;
17688    }()
17689  }, {
17690    key: "set",
17691    value: function () {
17692      var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name, val) {
17693        return _regenerator["default"].wrap(function _callee3$(_context3) {
17694          while (1) {
17695            switch (_context3.prev = _context3.next) {
17696              case 0:
17697                _context3.next = 2;
17698                return this._initializedPromise;
17699
17700              case 2:
17701                this.file[name] = val;
17702                return _context3.abrupt("return", this._writeToStorage());
17703
17704              case 4:
17705              case "end":
17706                return _context3.stop();
17707            }
17708          }
17709        }, _callee3, this);
17710      }));
17711
17712      function set(_x, _x2) {
17713        return _set.apply(this, arguments);
17714      }
17715
17716      return set;
17717    }()
17718  }, {
17719    key: "setMultiple",
17720    value: function () {
17721      var _setMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(properties) {
17722        var name;
17723        return _regenerator["default"].wrap(function _callee4$(_context4) {
17724          while (1) {
17725            switch (_context4.prev = _context4.next) {
17726              case 0:
17727                _context4.next = 2;
17728                return this._initializedPromise;
17729
17730              case 2:
17731                for (name in properties) {
17732                  this.file[name] = properties[name];
17733                }
17734
17735                return _context4.abrupt("return", this._writeToStorage());
17736
17737              case 4:
17738              case "end":
17739                return _context4.stop();
17740            }
17741          }
17742        }, _callee4, this);
17743      }));
17744
17745      function setMultiple(_x3) {
17746        return _setMultiple.apply(this, arguments);
17747      }
17748
17749      return setMultiple;
17750    }()
17751  }, {
17752    key: "get",
17753    value: function () {
17754      var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name, defaultValue) {
17755        var val;
17756        return _regenerator["default"].wrap(function _callee5$(_context5) {
17757          while (1) {
17758            switch (_context5.prev = _context5.next) {
17759              case 0:
17760                _context5.next = 2;
17761                return this._initializedPromise;
17762
17763              case 2:
17764                val = this.file[name];
17765                return _context5.abrupt("return", val !== undefined ? val : defaultValue);
17766
17767              case 4:
17768              case "end":
17769                return _context5.stop();
17770            }
17771          }
17772        }, _callee5, this);
17773      }));
17774
17775      function get(_x4, _x5) {
17776        return _get.apply(this, arguments);
17777      }
17778
17779      return get;
17780    }()
17781  }, {
17782    key: "getMultiple",
17783    value: function () {
17784      var _getMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(properties) {
17785        var values, name, val;
17786        return _regenerator["default"].wrap(function _callee6$(_context6) {
17787          while (1) {
17788            switch (_context6.prev = _context6.next) {
17789              case 0:
17790                _context6.next = 2;
17791                return this._initializedPromise;
17792
17793              case 2:
17794                values = Object.create(null);
17795
17796                for (name in properties) {
17797                  val = this.file[name];
17798                  values[name] = val !== undefined ? val : properties[name];
17799                }
17800
17801                return _context6.abrupt("return", values);
17802
17803              case 5:
17804              case "end":
17805                return _context6.stop();
17806            }
17807          }
17808        }, _callee6, this);
17809      }));
17810
17811      function getMultiple(_x6) {
17812        return _getMultiple.apply(this, arguments);
17813      }
17814
17815      return getMultiple;
17816    }()
17817  }]);
17818
17819  return ViewHistory;
17820}();
17821
17822exports.ViewHistory = ViewHistory;
17823
17824/***/ }),
17825/* 41 */
17826/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
17827
17828
17829
17830function _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); }
17831
17832Object.defineProperty(exports, "__esModule", ({
17833  value: true
17834}));
17835exports.GenericCom = void 0;
17836
17837var _regenerator = _interopRequireDefault(__webpack_require__(4));
17838
17839var _app = __webpack_require__(3);
17840
17841var _preferences = __webpack_require__(42);
17842
17843var _download_manager = __webpack_require__(43);
17844
17845var _genericl10n = __webpack_require__(44);
17846
17847var _generic_scripting = __webpack_require__(46);
17848
17849function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17850
17851function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
17851y { 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); } }
17852
17853function _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); }); }; }
17854
17855function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17856
17857function _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); } }
17858
17859function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17860
17861function _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); }
17862
17863function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
17864
17865function _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); }; }
17866
17867function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
17868
17869function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
17870
17871function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
17872
17873function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
17874
17875;
17876var GenericCom = {};
17877exports.GenericCom = GenericCom;
17878
17879var GenericPreferences = /*#__PURE__*/function (_BasePreferences) {
17880  _inherits(GenericPreferences, _BasePreferences);
17881
17882  var _super = _createSuper(GenericPreferences);
17883
17884  function GenericPreferences() {
17885    _classCallCheck(this, GenericPreferences);
17886
17887    return _super.apply(this, arguments);
17888  }
17889
17890  _createClass(GenericPreferences, [{
17891    key: "_writeToStorage",
17892    value: function () {
17893      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) {
17894        return _regenerator["default"].wrap(function _callee$(_context) {
17895          while (1) {
17896            switch (_context.prev = _context.next) {
17897              case 0:
17898                localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj));
17899
17900              case 1:
17901              case "end":
17902                return _context.stop();
17903            }
17904          }
17905        }, _callee);
17906      }));
17907
17908      function _writeToStorage(_x) {
17909        return _writeToStorage2.apply(this, arguments);
17910      }
17911
17912      return _writeToStorage;
17913    }()
17914  }, {
17915    key: "_readFromStorage",
17916    value: function () {
17917      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) {
17918        return _regenerator["default"].wrap(function _callee2$(_context2) {
17919          while (1) {
17920            switch (_context2.prev = _context2.next) {
17921              case 0:
17922                return _context2.abrupt("return", JSON.parse(localStorage.getItem("pdfjs.preferences")));
17923
17924              case 1:
17925              case "end":
17926                return _context2.stop();
17927            }
17928          }
17929        }, _callee2);
17930      }));
17931
17932      function _readFromStorage(_x2) {
17933        return _readFromStorage2.apply(this, arguments);
17934      }
17935
17936      return _readFromStorage;
17937    }()
17938  }]);
17939
17940  return GenericPreferences;
17941}(_preferences.BasePreferences);
17942
17943var GenericExternalServices = /*#__PURE__*/function (_DefaultExternalServi) {
17944  _inherits(GenericExternalServices, _DefaultExternalServi);
17945
17946  var _super2 = _createSuper(GenericExternalServices);
17947
17948  function GenericExternalServices() {
17949    _classCallCheck(this, GenericExternalServices);
17950
17951    return _super2.apply(this, arguments);
17952  }
17953
17954  _createClass(GenericExternalServices, null, [{
17955    key: "createDownloadManager",
17956    value: function createDownloadManager(options) {
17957      return new _download_manager.DownloadManager();
17958    }
17959  }, {
17960    key: "createPreferences",
17961    value: function createPreferences() {
17962      return new GenericPreferences();
17963    }
17964  }, {
17965    key: "createL10n",
17966    value: function createL10n(_ref) {
17967      var _ref$locale = _ref.locale,
17968          locale = _ref$locale === void 0 ? "en-US" : _ref$locale;
17969      return new _genericl10n.GenericL10n(locale);
17970    }
17971  }, {
17972    key: "createScripting",
17973    value: function createScripting(_ref2) {
17974      var sandboxBundleSrc = _ref2.sandboxBundleSrc;
17975      return new _generic_scripting.GenericScripting(sandboxBundleSrc);
17976    }
17977  }]);
17978
17979  return GenericExternalServices;
17980}(_app.DefaultExternalServices);
17981
17982_app.PDFViewerApplication.externalServices = GenericExternalServices;
17983
17984/***/ }),
17985/* 42 */
17986/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
17987
17988
17989
17990Object.defineProperty(exports, "__esModule", ({
17991  value: true
17992}));
17993exports.BasePreferences = void 0;
17994
17995var _regenerator = _interopRequireDefault(__webpack_require__(4));
17996
17997var _app_options = __webpack_require__(1);
17998
17999function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18000
18001function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
18001y { 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); } }
18002
18003function _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); }); }; }
18004
18005function _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); }
18006
18007function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18008
18009function _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); } }
18010
18011function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18012
18013var BasePreferences = /*#__PURE__*/function () {
18014  function BasePreferences() {
18015    var _this = this;
18016
18017    _classCallCheck(this, BasePreferences);
18018
18019    if (this.constructor === BasePreferences) {
18020      throw new Error("Cannot initialize BasePreferences.");
18021    }
18022
18023    Object.defineProperty(this, "defaults", {
18024      value: Object.freeze({
18025        "cursorToolOnLoad": 0,
18026        "defaultZoomValue": "",
18027        "disablePageLabels": false,
18028        "enablePermissions": false,
18029        "enablePrintAutoRotate": true,
18030        "enableScripting": true,
18031        "externalLinkTarget": 0,
18032        "historyUpdateUrl": false,
18033        "ignoreDestinationZoom": false,
18034        "pdfBugEnabled": false,
18035        "renderer": "canvas",
18036        "renderInteractiveForms": true,
18037        "sidebarViewOnLoad": -1,
18038        "scrollModeOnLoad": -1,
18039        "spreadModeOnLoad": -1,
18040        "textLayerMode": 1,
18041        "useOnlyCssZoom": false,
18042        "viewerCssTheme": 0,
18043        "viewOnLoad": 0,
18044        "disableAutoFetch": false,
18045        "disableFontFace": false,
18046        "disableRange": false,
18047        "disableStream": false,
18048        "enableXfa": false
18049      }),
18050      writable: false,
18051      enumerable: true,
18052      configurable: false
18053    });
18054    this.prefs = Object.create(null);
18055    this._initializedPromise = this._readFromStorage(this.defaults).then(function (prefs) {
18056      for (var name in _this.defaults) {
18057        var prefValue = prefs === null || prefs === void 0 ? void 0 : prefs[name];
18058
18059        if (_typeof(prefValue) === _typeof(_this.defaults[name])) {
18060          _this.prefs[name] = prefValue;
18061        }
18062      }
18063    });
18064  }
18065
18066  _createClass(BasePreferences, [{
18067    key: "_writeToStorage",
18068    value: function () {
18069      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) {
18070        return _regenerator["default"].wrap(function _callee$(_context) {
18071          while (1) {
18072            switch (_context.prev = _context.next) {
18073              case 0:
18074                throw new Error("Not implemented: _writeToStorage");
18075
18076              case 1:
18077              case "end":
18078                return _context.stop();
18079            }
18080          }
18081        }, _callee);
18082      }));
18083
18084      function _writeToStorage(_x) {
18085        return _writeToStorage2.apply(this, arguments);
18086      }
18087
18088      return _writeToStorage;
18089    }()
18090  }, {
18091    key: "_readFromStorage",
18092    value: function () {
18093      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) {
18094        return _regenerator["default"].wrap(function _callee2$(_context2) {
18095          while (1) {
18096            switch (_context2.prev = _context2.next) {
18097              case 0:
18098                throw new Error("Not implemented: _readFromStorage");
18099
18100              case 1:
18101              case "end":
18102                return _context2.stop();
18103            }
18104          }
18105        }, _callee2);
18106      }));
18107
18108      function _readFromStorage(_x2) {
18109        return _readFromStorage2.apply(this, arguments);
18110      }
18111
18112      return _readFromStorage;
18113    }()
18114  }, {
18115    key: "reset",
18116    value: function () {
18117      var _reset = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
18118        return _regenerator["default"].wrap(function _callee3$(_context3) {
18119          while (1) {
18120            switch (_context3.prev = _context3.next) {
18121              case 0:
18122                _context3.next = 2;
18123                return this._initializedPromise;
18124
18125              case 2:
18126                this.prefs = Object.create(null);
18127                return _context3.abrupt("return", this._writeToStorage(this.defaults));
18128
18129              case 4:
18130              case "end":
18131                return _context3.stop();
18132            }
18133          }
18134        }, _callee3, this);
18135      }));
18136
18137      function reset() {
18138        return _reset.apply(this, arguments);
18139      }
18140
18141      return reset;
18142    }()
18143  }, {
18144    key: "set",
18145    value: function () {
18146      var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name, value) {
18147        var defaultValue, valueType, defaultType;
18148        return _regenerator["default"].wrap(function _callee4$(_context4) {
18149          while (1) {
18150            switch (_context4.prev = _context4.next) {
18151              case 0:
18152                _context4.next = 2;
18153                return this._initializedPromise;
18154
18155              case 2:
18156                defaultValue = this.defaults[name];
18157
18158                if (!(defaultValue === undefined)) {
18159                  _context4.next = 7;
18160                  break;
18161                }
18162
18163                throw new Error("Set preference: \"".concat(name, "\" is undefined."));
18164
18165              case 7:
18166                if (!(value === undefined)) {
18167                  _context4.next = 9;
18168                  break;
18169                }
18170
18171                throw new Error("Set preference: no value is specified.");
18172
18173              case 9:
18174                valueType = _typeof(value);
18175                defaultType = _typeof(defaultValue);
18176
18177                if (!(valueType !== defaultType)) {
18178                  _context4.next = 19;
18179                  break;
18180                }
18181
18182                if (!(valueType === "number" && defaultType === "string")) {
18183                  _context4.next = 16;
18184                  break;
18185                }
18186
18187                value = value.toString();
18188                _context4.next = 17;
18189                break;
18190
18191              case 16:
18192                throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", expected a ").concat(defaultType, "."));
18193
18194              case 17:
18195                _context4.next = 21;
18196                break;
18197
18198              case 19:
18199                if (!(valueType === "number" && !Number.isInteger(value))) {
18200                  _context4.next = 21;
18201                  break;
18202                }
18203
18204                throw new Error("Set preference: \"".concat(value, "\" must be an integer."));
18205
18206              case 21:
18207                this.prefs[name] = value;
18208                return _context4.abrupt("return", this._writeToStorage(this.prefs));
18209
18210              case 23:
18211              case "end":
18212                return _context4.stop();
18213            }
18214          }
18215        }, _callee4, this);
18216      }));
18217
18218      function set(_x3, _x4) {
18219        return _set.apply(this, arguments);
18220      }
18221
18222      return set;
18223    }()
18224  }, {
18225    key: "get",
18226    value: function () {
18227      var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name) {
18228        var defaultValue, prefValue;
18229        return _regenerator["default"].wrap(function _callee5$(_context5) {
18230          while (1) {
18231            switch (_context5.prev = _context5.next) {
18232              case 0:
18233                _context5.next = 2;
18234                return this._initializedPromise;
18235
18236              case 2:
18237                defaultValue = this.defaults[name], prefValue = this.prefs[name];
18238
18239                if (!(defaultValue === undefined)) {
18240                  _context5.next = 5;
18241                  break;
18242                }
18243
18244                throw new Error("Get preference: \"".concat(name, "\" is undefined."));
18245
18246              case 5:
18247                return _context5.abrupt("return", prefValue !== undefined ? prefValue : defaultValue);
18248
18249              case 6:
18250              case "end":
18251                return _context5.stop();
18252            }
18253          }
18254        }, _callee5, this);
18255      }));
18256
18257      function get(_x5) {
18258        return _get.apply(this, arguments);
18259      }
18260
18261      return get;
18262    }()
18263  }, {
18264    key: "getAll",
18265    value: function () {
18266      var _getAll = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
18267        var obj, name, prefValue;
18268        return _regenerator["default"].wrap(function _callee6$(_context6) {
18269          while (1) {
18270            switch (_context6.prev = _context6.next) {
18271              case 0:
18272                _context6.next = 2;
18273                return this._initializedPromise;
18274
18275              case 2:
18276                obj = Object.create(null);
18277
18278                for (name in this.defaults) {
18279                  prefValue = this.prefs[name];
18280                  obj[name] = prefValue !== undefined ? prefValue : this.defaults[name];
18281                }
18282
18283                return _context6.abrupt("return", obj);
18284
18285              case 5:
18286              case "end":
18287                return _context6.stop();
18288            }
18289          }
18290        }, _callee6, this);
18291      }));
18292
18293      function getAll() {
18294        return _getAll.apply(this, arguments);
18295      }
18296
18297      return getAll;
18298    }()
18299  }]);
18300
18301  return BasePreferences;
18302}();
18303
18304exports.BasePreferences = BasePreferences;
18305
18306/***/ }),
18307/* 43 */
18308/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
18309
18310
18311
18312Object.defineProperty(exports, "__esModule", ({
18313  value: true
18314}));
18315exports.DownloadManager = void 0;
18316
18317var _pdfjsLib = __webpack_require__(7);
18318
18319var _viewer_compatibility = __webpack_require__(2);
18320
18321function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18322
18323function _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); } }
18324
18325function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18326
18327;
18328
18329function _download(blobUrl, filename) {
18330  var a = document.createElement("a");
18331
18332  if (!a.click) {
18333    throw new Error('DownloadManager: "a.click()" is not supported.');
18334  }
18335
18336  a.href = blobUrl;
18337  a.target = "_parent";
18338
18339  if ("download" in a) {
18340    a.download = filename;
18341  }
18342
18343  (document.body || document.documentElement).appendChild(a);
18344  a.click();
18345  a.remove();
18346}
18347
18348var DownloadManager = /*#__PURE__*/function () {
18349  function DownloadManager() {
18350    _classCallCheck(this, DownloadManager);
18351
18352    this._openBlobUrls = new WeakMap();
18353  }
18354
18355  _createClass(DownloadManager, [{
18356    key: "downloadUrl",
18357    value: function downloadUrl(url, filename) {
18358      if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) {
18359        return;
18360      }
18361
18362      _download(url + "#pdfjs.action=download", filename);
18363    }
18364  }, {
18365    key: "downloadData",
18366    value: function downloadData(data, filename, contentType) {
18367      var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL);
18368
18369      _download(blobUrl, filename);
18370    }
18371  }, {
18372    key: "openOrDownloadData",
18373    value: function openOrDownloadData(element, data, filename) {
18374      var isPdfData = (0, _pdfjsLib.isPdfFile)(filename);
18375      var contentType = isPdfData ? "application/pdf" : "";
18376
18377      if (isPdfData && !_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {
18378        var blobUrl = this._openBlobUrls.get(element);
18379
18380        if (!blobUrl) {
18381          blobUrl = URL.createObjectURL(new Blob([data], {
18382            type: contentType
18383          }));
18384
18385          this._openBlobUrls.set(element, blobUrl);
18386        }
18387
18388        var viewerUrl;
18389        viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename);
18390
18391        try {
18392          window.open(viewerUrl);
18393          return true;
18394        } catch (ex) {
18395          console.error("openOrDownloadData: ".concat(ex));
18396          URL.revokeObjectURL(blobUrl);
18397
18398          this._openBlobUrls["delete"](element);
18399        }
18400      }
18401
18402      this.downloadData(data, filename, contentType);
18403      return false;
18404    }
18405  }, {
18406    key: "download",
18407    value: function download(blob, url, filename) {
18408      var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "download";
18409
18410      if (_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {
18411        this.downloadUrl(url, filename);
18412        return;
18413      }
18414
18415      var blobUrl = URL.createObjectURL(blob);
18416
18417      _download(blobUrl, filename);
18418    }
18419  }]);
18420
18421  return DownloadManager;
18422}();
18423
18424exports.DownloadManager = DownloadManager;
18425
18426/***/ }),
18427/* 44 */
18428/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
18429
18430
18431
18432Object.defineProperty(exports, "__esModule", ({
18433  value: true
18434}));
18435exports.GenericL10n = void 0;
18436
18437var _regenerator = _interopRequireDefault(__webpack_require__(4));
18438
18439__webpack_require__(45);
18440
18441var _l10n_utils = __webpack_require__(32);
18442
18443function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18444
18445function 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); } }
18446
18447function _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); }); }; }
18448
18449function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18450
18451function _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); } }
18452
18453function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18454
18455var webL10n = document.webL10n;
18456
18457var GenericL10n = /*#__PURE__*/function () {
18458  function GenericL10n(lang) {
18459    _classCallCheck(this, GenericL10n);
18460
18461    this._lang = lang;
18462    this._ready = new Promise(function (resolve, reject) {
18463      webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), function () {
18464        resolve(webL10n);
18465      });
18466    });
18467  }
18468
18469  _createClass(GenericL10n, [{
18470    key: "getLanguage",
18471    value: function () {
18472      var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
18473        var l10n;
18474        return _regenerator["default"].wrap(function _callee$(_context) {
18475          while (1) {
18476            switch (_context.prev = _context.next) {
18477              case 0:
18478                _context.next = 2;
18479                return this._ready;
18480
18481              case 2:
18482                l10n = _context.sent;
18483                return _context.abrupt("return", l10n.getLanguage());
18484
18485              case 4:
18486              case "end":
18487                return _context.stop();
18488            }
18489          }
18490        }, _callee, this);
18491      }));
18492
18493      function getLanguage() {
18494        return _getLanguage.apply(this, arguments);
18495      }
18496
18497      return getLanguage;
18498    }()
18499  }, {
18500    key: "getDirection",
18501    value: function () {
18502      var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
18503        var l10n;
18504        return _regenerator["default"].wrap(function _callee2$(_context2) {
18505          while (1) {
18506            switch (_context2.prev = _context2.next) {
18507              case 0:
18508                _context2.next = 2;
18509                return this._ready;
18510
18511              case 2:
18512                l10n = _context2.sent;
18513                return _context2.abrupt("return", l10n.getDirection());
18514
18515              case 4:
18516              case "end":
18517                return _context2.stop();
18518            }
18519          }
18520        }, _callee2, this);
18521      }));
18522
18523      function getDirection() {
18524        return _getDirection.apply(this, arguments);
18525      }
18526
18527      return getDirection;
18528    }()
18529  }, {
18530    key: "get",
18531    value: function () {
18532      var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(key) {
18533        var args,
18534            fallback,
18535            l10n,
18536            _args3 = arguments;
18537        return _regenerator["default"].wrap(function _callee3$(_context3) {
18538          while (1) {
18539            switch (_context3.prev = _context3.next) {
18540              case 0:
18541                args = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;
18542                fallback = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : (0, _l10n_utils.getL10nFallback)(key, args);
18543                _context3.next = 4;
18544                return this._ready;
18545
18546              case 4:
18547                l10n = _context3.sent;
18548                return _context3.abrupt("return", l10n.get(key, args, fallback));
18549
18550              case 6:
18551              case "end":
18552                return _context3.stop();
18553            }
18554          }
18555        }, _callee3, this);
18556      }));
18557
18558      function get(_x) {
18559        return _get.apply(this, arguments);
18560      }
18561
18562      return get;
18563    }()
18564  }, {
18565    key: "translate",
18566    value: function () {
18567      var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(element) {
18568        var l10n;
18569        return _regenerator["default"].wrap(function _callee4$(_context4) {
18570          while (1) {
18571            switch (_context4.prev = _context4.next) {
18572              case 0:
18573                _context4.next = 2;
18574                return this._ready;
18575
18576              case 2:
18577                l10n = _context4.sent;
18578                return _context4.abrupt("return", l10n.translate(element));
18579
18580              case 4:
18581              case "end":
18582                return _context4.stop();
18583            }
18584          }
18585        }, _callee4, this);
18586      }));
18587
18588      function translate(_x2) {
18589        return _translate.apply(this, arguments);
18590      }
18591
18592      return translate;
18593    }()
18594  }]);
18595
18596  return GenericL10n;
18597}();
18598
18599exports.GenericL10n = GenericL10n;
18600
18601/***/ }),
18602/* 45 */
18603/***/ (() => {
18604
18605
18606
18607document.webL10n = function (window, document, undefined) {
18608  var gL10nData = {};
18609  var gTextData = '';
18610  var gTextProp = 'textContent';
18611  var gLanguage = '';
18612  var gMacros = {};
18613  var gReadyState = 'loading';
18614  var gAsyncResourceLoading = true;
18615
18616  function getL10nResourceLinks() {
18617    return document.querySelectorAll('link[type="application/l10n"]');
18618  }
18619
18620  function getL10nDictionary() {
18621    var script = document.querySelector('script[type="application/l10n"]');
18622    return script ? JSON.parse(script.innerHTML) : null;
18623  }
18624
18625  function getTranslatableChildren(element) {
18626    return element ? element.querySelectorAll('*[data-l10n-id]') : [];
18627  }
18628
18629  function getL10nAttributes(element) {
18630    if (!element) return {};
18631    var l10nId = element.getAttribute('data-l10n-id');
18632    var l10nArgs = element.getAttribute('data-l10n-args');
18633    var args = {};
18634
18635    if (l10nArgs) {
vendor: 7,003 bytes, lines 18636-18931
18636      try {
18637        args = JSON.parse(l10nArgs);
18638      } catch (e) {
18639        console.warn('could not parse arguments for #' + l10nId);
18640      }
18641    }
18642
18643    return {
18644      id: l10nId,
18645      args: args
18646    };
18647  }
18648
18649  function xhrLoadText(url, onSuccess, onFailure) {
18650    onSuccess = onSuccess || function _onSuccess(data) {};
18651
18652    onFailure = onFailure || function _onFailure() {};
18653
18654    var xhr = new XMLHttpRequest();
18655    xhr.open('GET', url, gAsyncResourceLoading);
18656
18657    if (xhr.overrideMimeType) {
18658      xhr.overrideMimeType('text/plain; charset=utf-8');
18659    }
18660
18661    xhr.onreadystatechange = function () {
18662      if (xhr.readyState == 4) {
18663        if (xhr.status == 200 || xhr.status === 0) {
18664          onSuccess(xhr.responseText);
18665        } else {
18666          onFailure();
18667        }
18668      }
18669    };
18670
18671    xhr.onerror = onFailure;
18672    xhr.ontimeout = onFailure;
18673
18674    try {
18675      xhr.send(null);
18676    } catch (e) {
18677      onFailure();
18678    }
18679  }
18680
18681  function parseResource(href, lang, successCallback, failureCallback) {
18682    var baseURL = href.replace(/[^\/]*$/, '') || './';
18683
18684    function evalString(text) {
18685      if (text.lastIndexOf('\\') < 0) return text;
18686      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, "'");
18687    }
18688
18689    function parseProperties(text, parsedPropertiesCallback) {
18690      var dictionary = {};
18691      var reBlank = /^\s*|\s*$/;
18692      var reComment = /^\s*#|^\s*$/;
18693      var reSection = /^\s*\[(.*)\]\s*$/;
18694      var reImport = /^\s*@import\s+url\((.*)\)\s*$/i;
18695      var reSplit = /^([^=\s]*)\s*=\s*(.+)$/;
18696
18697      function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {
18698        var entries = rawText.replace(reBlank, '').split(/[\r\n]+/);
18699        var currentLang = '*';
18700        var genericLang = lang.split('-', 1)[0];
18701        var skipLang = false;
18702        var match = '';
18703
18704        function nextEntry() {
18705          while (true) {
18706            if (!entries.length) {
18707              parsedRawLinesCallback();
18708              return;
18709            }
18710
18711            var line = entries.shift();
18712            if (reComment.test(line)) continue;
18713
18714            if (extendedSyntax) {
18715              match = reSection.exec(line);
18716
18717              if (match) {
18718                currentLang = match[1].toLowerCase();
18719                skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;
18720                continue;
18721              } else if (skipLang) {
18722                continue;
18723              }
18724
18725              match = reImport.exec(line);
18726
18727              if (match) {
18728                loadImport(baseURL + match[1], nextEntry);
18729                return;
18730              }
18731            }
18732
18733            var tmp = line.match(reSplit);
18734
18735            if (tmp && tmp.length == 3) {
18736              dictionary[tmp[1]] = evalString(tmp[2]);
18737            }
18738          }
18739        }
18740
18741        nextEntry();
18742      }
18743
18744      function loadImport(url, callback) {
18745        xhrLoadText(url, function (content) {
18746          parseRawLines(content, false, callback);
18747        }, function () {
18748          console.warn(url + ' not found.');
18749          callback();
18750        });
18751      }
18752
18753      parseRawLines(text, true, function () {
18754        parsedPropertiesCallback(dictionary);
18755      });
18756    }
18757
18758    xhrLoadText(href, function (response) {
18759      gTextData += response;
18760      parseProperties(response, function (data) {
18761        for (var key in data) {
18762          var id,
18763              prop,
18764              index = key.lastIndexOf('.');
18765
18766          if (index > 0) {
18767            id = key.substring(0, index);
18768            prop = key.substring(index + 1);
18769          } else {
18770            id = key;
18771            prop = gTextProp;
18772          }
18773
18774          if (!gL10nData[id]) {
18775            gL10nData[id] = {};
18776          }
18777
18778          gL10nData[id][prop] = data[key];
18779        }
18780
18781        if (successCallback) {
18782          successCallback();
18783        }
18784      });
18785    }, failureCallback);
18786  }
18787
18788  function loadLocale(lang, callback) {
18789    if (lang) {
18790      lang = lang.toLowerCase();
18791    }
18792
18793    callback = callback || function _callback() {};
18794
18795    clear();
18796    gLanguage = lang;
18797    var langLinks = getL10nResourceLinks();
18798    var langCount = langLinks.length;
18799
18800    if (langCount === 0) {
18801      var dict = getL10nDictionary();
18802
18803      if (dict && dict.locales && dict.default_locale) {
18804        console.log('using the embedded JSON directory, early way out');
18805        gL10nData = dict.locales[lang];
18806
18807        if (!gL10nData) {
18808          var defaultLocale = dict.default_locale.toLowerCase();
18809
18810          for (var anyCaseLang in dict.locales) {
18811            anyCaseLang = anyCaseLang.toLowerCase();
18812
18813            if (anyCaseLang === lang) {
18814              gL10nData = dict.locales[lang];
18815              break;
18816            } else if (anyCaseLang === defaultLocale) {
18817              gL10nData = dict.locales[defaultLocale];
18818            }
18819          }
18820        }
18821
18822        callback();
18823      } else {
18824        console.log('no resource to load, early way out');
18825      }
18826
18827      gReadyState = 'complete';
18828      return;
18829    }
18830
18831    var onResourceLoaded = null;
18832    var gResourceCount = 0;
18833
18834    onResourceLoaded = function onResourceLoaded() {
18835      gResourceCount++;
18836
18837      if (gResourceCount >= langCount) {
18838        callback();
18839        gReadyState = 'complete';
18840      }
18841    };
18842
18843    function L10nResourceLink(link) {
18844      var href = link.href;
18845
18846      this.load = function (lang, callback) {
18847        parseResource(href, lang, callback, function () {
18848          console.warn(href + ' not found.');
18849          console.warn('"' + lang + '" resource not found');
18850          gLanguage = '';
18851          callback();
18852        });
18853      };
18854    }
18855
18856    for (var i = 0; i < langCount; i++) {
18857      var resource = new L10nResourceLink(langLinks[i]);
18858      resource.load(lang, onResourceLoaded);
18859    }
18860  }
18861
18862  function clear() {
18863    gL10nData = {};
18864    gTextData = '';
18865    gLanguage = '';
18866  }
18867
18868  function getPluralRules(lang) {
18869    var locales2rules = {
18870      'af': 3,
18871      'ak': 4,
18872      'am': 4,
18873      'ar': 1,
18874      'asa': 3,
18875      'az': 0,
18876      'be': 11,
18877      'bem': 3,
18878      'bez': 3,
18879      'bg': 3,
18880      'bh': 4,
18881      'bm': 0,
18882      'bn': 3,
18883      'bo': 0,
18884      'br': 20,
18885      'brx': 3,
18886      'bs': 11,
18887      'ca': 3,
18888      'cgg': 3,
18889      'chr': 3,
18890      'cs': 12,
18891      'cy': 17,
18892      'da': 3,
18893      'de': 3,
18894      'dv': 3,
18895      'dz': 0,
18896      'ee': 3,
18897      'el': 3,
18898      'en': 3,
18899      'eo': 3,
18900      'es': 3,
18901      'et': 3,
18902      'eu': 3,
18903      'fa': 0,
18904      'ff': 5,
18905      'fi': 3,
18906      'fil': 4,
18907      'fo': 3,
18908      'fr': 5,
18909      'fur': 3,
18910      'fy': 3,
18911      'ga': 8,
18912      'gd': 24,
18913      'gl': 3,
18914      'gsw': 3,
18915      'gu': 3,
18916      'guw': 4,
18917      'gv': 23,
18918      'ha': 3,
18919      'haw': 3,
18920      'he': 2,
18921      'hi': 4,
18922      'hr': 11,
18923      'hu': 0,
18924      'id': 0,
18925      'ig': 0,
18926      'ii': 0,
18927      'is': 3,
18928      'it': 3,
18929      'iu': 7,
18930      'ja': 0,
18931      'jmc': 3,
18932      'jv': 0,
18933      'ka': 0,
18934      'kab': 5,
18935      'kaj': 3,
18936      'kcg': 3,
18937      'kde': 0,
18938      'kea': 0,
18939      'kk': 3,
18940      'kl': 3,
18941      'km': 0,
18942      'kn': 0,
18943      'ko': 0,
18944      'ksb': 3,
18945      'ksh': 21,
18946      'ku': 3,
18947      'kw': 7,
18948      'lag': 18,
18949      'lb': 3,
18950      'lg': 3,
18951      'ln': 4,
18952      'lo': 0,
18953      'lt': 10,
18954      'lv': 6,
18955      'mas': 3,
18956      'mg': 4,
18957      'mk': 16,
18958      'ml': 3,
18959      'mn': 3,
18960      'mo': 9,
18961      'mr': 3,
18962      'ms': 0,
18963      'mt': 15,
18964      'my': 0,
18965      'nah': 3,
18966      'naq': 7,
18967      'nb': 3,
18968      'nd': 3,
18969      'ne': 3,
18970      'nl': 3,
18971      'nn': 3,
18972      'no': 3,
18973      'nr': 3,
18974      'nso': 4,
18975      'ny': 3,
18976      'nyn': 3,
18977      'om': 3,
18978      'or': 3,
18979      'pa': 3,
18980      'pap': 3,
18981      'pl': 13,
18982      'ps': 3,
18983      'pt': 3,
18984      'rm': 3,
18985      'ro': 9,
18986      'rof': 3,
18987      'ru': 11,
18988      'rwk': 3,
18989      'sah': 0,
18990      'saq': 3,
18991      'se': 7,
18992      'seh': 3,
18993      'ses': 0,
18994      'sg': 0,
18995      'sh': 11,
18996      'shi': 19,
18997      'sk': 12,
18998      'sl': 14,
18999      'sma': 7,
19000      'smi': 7,
19001      'smj': 7,
19002      'smn': 7,
19003      'sms': 7,
19004      'sn': 3,
19005      'so': 3,
19006      'sq': 3,
19007      'sr': 11,
19008      'ss': 3,
19009      'ssy': 3,
19010      'st': 3,
19011      'sv': 3,
19012      'sw': 3,
19013      'syr': 3,
19014      'ta': 3,
19015      'te': 3,
19016      'teo': 3,
19017      'th': 0,
19018      'ti': 4,
19019      'tig': 3,
19020      'tk': 3,
19021      'tl': 4,
19022      'tn': 3,
19023      'to': 0,
19024      'tr': 0,
19025      'ts': 3,
19026      'tzm': 22,
19027      'uk': 11,
19028      'ur': 3,
19029      've': 3,
19030      'vi': 0,
19031      'vun': 3,
19032      'wa': 4,
19033      'wae': 3,
19034      'wo': 0,
19035      'xh': 3,
19036      'xog': 3,
19037      'yo': 0,
19038      'zh': 0,
19039      'zu': 3
19040    };
19041
19042    function isIn(n, list) {
19043      return list.indexOf(n) !== -1;
19044    }
19045
19046    function isBetween(n, start, end) {
19047      return start <= n && n <= end;
19048    }
19049
19050    var pluralRules = {
19051      '0': function _(n) {
19052        return 'other';
19053      },
19054      '1': function _(n) {
19055        if (isBetween(n % 100, 3, 10)) return 'few';
19056        if (n === 0) return 'zero';
19057        if (isBetween(n % 100, 11, 99)) return 'many';
19058        if (n == 2) return 'two';
19059        if (n == 1) return 'one';
19060        return 'other';
19061      },
19062      '2': function _(n) {
19063        if (n !== 0 && n % 10 === 0) return 'many';
19064        if (n == 2) return 'two';
19065        if (n == 1) return 'one';
19066        return 'other';
19067      },
19068      '3': function _(n) {
19069        if (n == 1) return 'one';
19070        return 'other';
19071      },
19072      '4': function _(n) {
19073        if (isBetween(n, 0, 1)) return 'one';
19074        return 'other';
19075      },
19076      '5': function _(n) {
19077        if (isBetween(n, 0, 2) && n != 2) return 'one';
19078        return 'other';
19079      },
19080      '6': function _(n) {
19081        if (n === 0) return 'zero';
19082        if (n % 10 == 1 && n % 100 != 11) return 'one';
19083        return 'other';
19084      },
19085      '7': function _(n) {
19086        if (n == 2) return 'two';
19087        if (n == 1) return 'one';
19088        return 'other';
19089      },
19090      '8': function _(n) {
19091        if (isBetween(n, 3, 6)) return 'few';
19092        if (isBetween(n, 7, 10)) return 'many';
19093        if (n == 2) return 'two';
19094        if (n == 1) return 'one';
19095        return 'other';
19096      },
19097      '9': function _(n) {
19098        if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';
19099        if (n == 1) return 'one';
19100        return 'other';
19101      },
19102      '10': function _(n) {
19103        if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';
19104        if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';
19105        return 'other';
19106      },
19107      '11': function _(n) {
19108        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
19109        if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';
19110        if (n % 10 == 1 && n % 100 != 11) return 'one';
19111        return 'other';
19112      },
19113      '12': function _(n) {
19114        if (isBetween(n, 2, 4)) return 'few';
19115        if (n == 1) return 'one';
19116        return 'other';
19117      },
19118      '13': function _(n) {
19119        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
19120        if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';
19121        if (n == 1) return 'one';
19122        return 'other';
19123      },
19124      '14': function _(n) {
19125        if (isBetween(n % 100, 3, 4)) return 'few';
19126        if (n % 100 == 2) return 'two';
19127        if (n % 100 == 1) return 'one';
19128        return 'other';
19129      },
19130      '15': function _(n) {
19131        if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';
19132        if (isBetween(n % 100, 11, 19)) return 'many';
19133        if (n == 1) return 'one';
19134        return 'other';
19135      },
19136      '16': function _(n) {
19137        if (n % 10 == 1 && n != 11) return 'one';
19138        return 'other';
19139      },
19140      '17': function _(n) {
19141        if (n == 3) return 'few';
19142        if (n === 0) return 'zero';
19143        if (n == 6) return 'many';
19144        if (n == 2) return 'two';
19145        if (n == 1) return 'one';
19146        return 'other';
19147      },
19148      '18': function _(n) {
19149        if (n === 0) return 'zero';
19150        if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';
19151        return 'other';
19152      },
19153      '19': function _(n) {
19154        if (isBetween(n, 2, 10)) return 'few';
19155        if (isBetween(n, 0, 1)) return 'one';
19156        return 'other';
19157      },
19158      '20': function _(n) {
19159        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';
19160        if (n % 1000000 === 0 && n !== 0) return 'many';
19161        if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';
19162        if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';
19163        return 'other';
19164      },
19165      '21': function _(n) {
19166        if (n === 0) return 'zero';
19167        if (n == 1) return 'one';
19168        return 'other';
19169      },
19170      '22': function _(n) {
19171        if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';
19172        return 'other';
19173      },
19174      '23': function _(n) {
19175        if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';
19176        return 'other';
19177      },
19178      '24': function _(n) {
19179        if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';
19180        if (isIn(n, [2, 12])) return 'two';
19181        if (isIn(n, [1, 11])) return 'one';
19182        return 'other';
19183      }
19184    };
19185    var index = locales2rules[lang.replace(/-.*$/, '')];
19186
19187    if (!(index in pluralRules)) {
19188      console.warn('plural form unknown for [' + lang + ']');
19189      return function () {
19190        return 'other';
19191      };
19192    }
19193
19194    return pluralRules[index];
19195  }
19196
19197  gMacros.plural = function (str, param, key, prop) {
19198    var n = parseFloat(param);
19199    if (isNaN(n)) return str;
19200    if (prop != gTextProp) return str;
19201
19202    if (!gMacros._pluralRules) {
19203      gMacros._pluralRules = getPluralRules(gLanguage);
19204    }
19205
19206    var index = '[' + gMacros._pluralRules(n) + ']';
19207
19208    if (n === 0 && key + '[zero]' in gL10nData) {
19209      str = gL10nData[key + '[zero]'][prop];
19210    } else if (n == 1 && key + '[one]' in gL10nData) {
19211      str = gL10nData[key + '[one]'][prop];
19212    } else if (n == 2 && key + '[two]' in gL10nData) {
19213      str = gL10nData[key + '[two]'][prop];
19214    } else if (key + index in gL10nData) {
19215      str = gL10nData[key + index][prop];
19216    } else if (key + '[other]' in gL10nData) {
19217      str = gL10nData[key + '[other]'][prop];
19218    }
19219
19220    return str;
19221  };
19222
19223  function getL10nData(key, args, fallback) {
19224    var data = gL10nData[key];
19225
19226    if (!data) {
19227      console.warn('#' + key + ' is undefined.');
19228
19229      if (!fallback) {
19230        return null;
19231      }
19232
19233      data = fallback;
19234    }
19235
19236    var rv = {};
19237
19238    for (var prop in data) {
19239      var str = data[prop];
19240      str = substIndexes(str, args, key, prop);
19241      str = substArguments(str, args, key);
19242      rv[prop] = str;
19243    }
19244
19245    return rv;
19246  }
19247
19248  function substIndexes(str, args, key, prop) {
19249    var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/;
19250    var reMatch = reIndex.exec(str);
19251    if (!reMatch || !reMatch.length) return str;
19252    var macroName = reMatch[1];
19253    var paramName = reMatch[2];
19254    var param;
19255
19256    if (args && paramName in args) {
19257      param = args[paramName];
19258    } else if (paramName in gL10nData) {
19259      param = gL10nData[paramName];
19260    }
19261
19262    if (macroName in gMacros) {
19263      var macro = gMacros[macroName];
19264      str = macro(str, param, key, prop);
19265    }
19266
19267    return str;
19268  }
19269
19270  function substArguments(str, args, key) {
19271    var reArgs = /\{\{\s*(.+?)\s*\}\}/g;
19272    return str.replace(reArgs, function (matched_text, arg) {
19273      if (args && arg in args) {
19274        return args[arg];
19275      }
19276
19277      if (arg in gL10nData) {
19278        return gL10nData[arg];
19279      }
19280
19281      console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');
19282      return matched_text;
19283    });
19284  }
19285
19286  function translateElement(element) {
19287    var l10n = getL10nAttributes(element);
19288    if (!l10n.id) return;
19289    var data = getL10nData(l10n.id, l10n.args);
19290
19291    if (!data) {
19292      console.warn('#' + l10n.id + ' is undefined.');
19293      return;
19294    }
19295
19296    if (data[gTextProp]) {
19297      if (getChildElementCount(element) === 0) {
19298        element[gTextProp] = data[gTextProp];
19299      } else {
19300        var children = element.childNodes;
19301        var found = false;
19302
19303        for (var i = 0, l = children.length; i < l; i++) {
19304          if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) {
19305            if (found) {
19306              children[i].nodeValue = '';
19307            } else {
19308              children[i].nodeValue = data[gTextProp];
19309              found = true;
19310            }
19311          }
19312        }
19313
19314        if (!found) {
19315          var textNode = document.createTextNode(data[gTextProp]);
19316          element.insertBefore(textNode, element.firstChild);
19317        }
19318      }
19319
19320      delete data[gTextProp];
19321    }
19322
19323    for (var k in data) {
19324      element[k] = data[k];
19325    }
19326  }
19327
19328  function getChildElementCount(element) {
19329    if (element.children) {
19330      return element.children.length;
19331    }
19332
19333    if (typeof element.childElementCount !== 'undefined') {
19334      return element.childElementCount;
19335    }
19336
19337    var count = 0;
19338
19339    for (var i = 0; i < element.childNodes.length; i++) {
19340      count += element.nodeType === 1 ? 1 : 0;
19341    }
19342
19343    return count;
19344  }
19345
19346  function translateFragment(element) {
19347    element = element || document.documentElement;
19348    var children = getTranslatableChildren(element);
19349    var elementCount = children.length;
19350
19351    for (var i = 0; i < elementCount; i++) {
19352      translateElement(children[i]);
19353    }
19354
19355    translateElement(element);
19356  }
19357
19358  return {
19359    get: function get(key, args, fallbackString) {
19360      var index = key.lastIndexOf('.');
19361      var prop = gTextProp;
19362
19363      if (index > 0) {
19364        prop = key.substring(index + 1);
19365        key = key.substring(0, index);
19366      }
19367
19368      var fallback;
19369
19370      if (fallbackString) {
19371        fallback = {};
19372        fallback[prop] = fallbackString;
19373      }
19374
19375      var data = getL10nData(key, args, fallback);
19376
19377      if (data && prop in data) {
19378        return data[prop];
19379      }
19380
19381      return '{{' + key + '}}';
19382    },
19383    getData: function getData() {
19384      return gL10nData;
19385    },
19386    getText: function getText() {
19387      return gTextData;
19388    },
19389    getLanguage: function getLanguage() {
19390      return gLanguage;
19391    },
19392    setLanguage: function setLanguage(lang, callback) {
19393      loadLocale(lang, function () {
19394        if (callback) callback();
19395      });
19396    },
19397    getDirection: function getDirection() {
19398      var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];
19399      var shortCode = gLanguage.split('-', 1)[0];
19400      return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';
19401    },
19402    translate: translateFragment,
19403    getReadyState: function getReadyState() {
19404      return gReadyState;
19405    },
19406    ready: function ready(callback) {
19407      if (!callback) {
19408        return;
19409      } else if (gReadyState == 'complete' || gReadyState == 'interactive') {
19410        window.setTimeout(function () {
19411          callback();
19412        });
19413      } else if (document.addEventListener) {
19414        document.addEventListener('localized', function once() {
19415          document.removeEventListener('localized', once);
19416          callback();
19417        });
19418      }
19419    }
19420  };
19421}(window, document);
19422
19423/***/ }),
19424/* 46 */
19425/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
19426
19427
19428
19429Object.defineProperty(exports, "__esModule", ({
19430  value: true
19431}));
19432exports.docPropertiesLookup = docPropertiesLookup;
19433exports.GenericScripting = void 0;
19434
19435var _regenerator = _interopRequireDefault(__webpack_require__(4));
19436
19437var _pdfjsLib = __webpack_require__(7);
19438
19439function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19440
19441function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19442
19443function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
19443 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19444
19445function _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; }
19446
19447function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19448
19449function _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); } }
19450
19451function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
19452
19453function 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); } }
19454
19455function _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); }); }; }
19456
19457function docPropertiesLookup(_x) {
19458  return _docPropertiesLookup.apply(this, arguments);
19459}
19460
19461function _docPropertiesLookup() {
19462  _docPropertiesLookup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(pdfDocument) {
19463    var url, baseUrl, _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, _yield$pdfDocument$ge2, length;
19464
19465    return _regenerator["default"].wrap(function _callee4$(_context4) {
19466      while (1) {
19467        switch (_context4.prev = _context4.next) {
19468          case 0:
19469            url = "", baseUrl = url.split("#")[0];
19470            _context4.next = 3;
19471            return pdfDocument.getMetadata();
19472
19473          case 3:
19474            _yield$pdfDocument$ge = _context4.sent;
19475            info = _yield$pdfDocument$ge.info;
19476            metadata = _yield$pdfDocument$ge.metadata;
19477            contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename;
19478            contentLength = _yield$pdfDocument$ge.contentLength;
19479
19480            if (contentLength) {
19481              _context4.next = 14;
19482              break;
19483            }
19484
19485            _context4.next = 11;
19486            return pdfDocument.getDownloadInfo();
19487
19488          case 11:
19489            _yield$pdfDocument$ge2 = _context4.sent;
19490            length = _yield$pdfDocument$ge2.length;
19491            contentLength = length;
19492
19493          case 14:
19494            return _context4.abrupt("return", _objectSpread(_objectSpread({}, info), {}, {
19495              baseURL: baseUrl,
19496              filesize: contentLength,
19497              filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url),
19498              metadata: metadata === null || metadata === void 0 ? void 0 : metadata.getRaw(),
19499              authors: metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:creator"),
19500              numPages: pdfDocument.numPages,
19501              URL: url
19502            }));
19503
19504          case 15:
19505          case "end":
19506            return _context4.stop();
19507        }
19508      }
19509    }, _callee4);
19510  }));
19511  return _docPropertiesLookup.apply(this, arguments);
19512}
19513
19514var GenericScripting = /*#__PURE__*/function () {
19515  function GenericScripting(sandboxBundleSrc) {
19516    _classCallCheck(this, GenericScripting);
19517
19518    this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(function () {
19519      return window.pdfjsSandbox.QuickJSSandbox();
19520    });
19521  }
19522
19523  _createClass(GenericScripting, [{
19524    key: "createSandbox",
19525    value: function () {
19526      var _createSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) {
19527        var sandbox;
19528        return _regenerator["default"].wrap(function _callee$(_context) {
19529          while (1) {
19530            switch (_context.prev = _context.next) {
19531              case 0:
19532                _context.next = 2;
19533                return this._ready;
19534
19535              case 2:
19536                sandbox = _context.sent;
19537                sandbox.create(data);
19538
19539              case 4:
19540              case "end":
19541                return _context.stop();
19542            }
19543          }
19544        }, _callee, this);
19545      }));
19546
19547      function createSandbox(_x2) {
19548        return _createSandbox.apply(this, arguments);
19549      }
19550
19551      return createSandbox;
19552    }()
19553  }, {
19554    key: "dispatchEventInSandbox",
19555    value: function () {
19556      var _dispatchEventInSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(event) {
19557        var sandbox;
19558        return _regenerator["default"].wrap(function _callee2$(_context2) {
19559          while (1) {
19560            switch (_context2.prev = _context2.next) {
19561              case 0:
19562                _context2.next = 2;
19563                return this._ready;
19564
19565              case 2:
19566                sandbox = _context2.sent;
19567                sandbox.dispatchEvent(event);
19568
19569              case 4:
19570              case "end":
19571                return _context2.stop();
19572            }
19573          }
19574        }, _callee2, this);
19575      }));
19576
19577      function dispatchEventInSandbox(_x3) {
19578        return _dispatchEventInSandbox.apply(this, arguments);
19579      }
19580
19581      return dispatchEventInSandbox;
19582    }()
19583  }, {
19584    key: "destroySandbox",
19585    value: function () {
19586      var _destroySandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
19587        var sandbox;
19588        return _regenerator["default"].wrap(function _callee3$(_context3) {
19589          while (1) {
19590            switch (_context3.prev = _context3.next) {
19591              case 0:
19592                _context3.next = 2;
19593                return this._ready;
19594
19595              case 2:
19596                sandbox = _context3.sent;
19597                sandbox.nukeSandbox();
19598
19599              case 4:
19600              case "end":
19601                return _context3.stop();
19602            }
19603          }
19604        }, _callee3, this);
19605      }));
19606
19607      function destroySandbox() {
19608        return _destroySandbox.apply(this, arguments);
19609      }
19610
19611      return destroySandbox;
19612    }()
19613  }]);
19614
19615  return GenericScripting;
19616}();
19617
19618exports.GenericScripting = GenericScripting;
19619
19620/***/ }),
19621/* 47 */
19622/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
19623
19624
19625
19626Object.defineProperty(exports, "__esModule", ({
19627  value: true
19628}));
19629exports.PDFPrintService = PDFPrintService;
19630
19631var _app = __webpack_require__(3);
19632
19633var _print_utils = __webpack_require__(48);
19634
19635var _viewer_compatibility = __webpack_require__(2);
19636
19637var activeService = null;
19638var overlayManager = null;
19639
19640function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size, printResolution, optionalContentConfigPromise) {
19641  var scratchCanvas = activeService.scratchCanvas;
19642  var PRINT_UNITS = printResolution / 72.0;
19643  scratchCanvas.width = Math.floor(size.width * PRINT_UNITS);
19644  scratchCanvas.height = Math.floor(size.height * PRINT_UNITS);
19645  var ctx = scratchCanvas.getContext("2d");
19646  ctx.save();
19647  ctx.fillStyle = "rgb(255, 255, 255)";
19648  ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);
19649  ctx.restore();
19650  return pdfDocument.getPage(pageNumber).then(function (pdfPage) {
19651    var renderContext = {
19652      canvasContext: ctx,
19653      transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
19654      viewport: pdfPage.getViewport({
19655        scale: 1,
19656        rotation: size.rotation
19657      }),
19658      intent: "print",
19659      includeAnnotationStorage: true,
19660      optionalContentConfigPromise: optionalContentConfigPromise
19661    };
19662    return pdfPage.render(renderContext).promise;
19663  });
19664}
19665
19666function PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution) {
19667  var optionalContentConfigPromise = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
19668  var l10n = arguments.length > 5 ? arguments[5] : undefined;
19669  this.pdfDocument = pdfDocument;
19670  this.pagesOverview = pagesOverview;
19671  this.printContainer = printContainer;
19672  this._printResolution = printResolution || 150;
19673  this._optionalContentConfigPromise = optionalContentConfigPromise || pdfDocument.getOptionalContentConfig();
19674  this.l10n = l10n;
19675  this.currentPage = -1;
19676  this.scratchCanvas = document.createElement("canvas");
19677}
19678
19679PDFPrintService.prototype = {
19680  layout: function layout() {
19681    this.throwIfInactive();
19682    var body = document.querySelector("body");
19683    body.setAttribute("data-pdfjsprinting", true);
19684    var hasEqualPageSizes = this.pagesOverview.every(function (size) {
19685      return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;
19686    }, this);
19687
19688    if (!hasEqualPageSizes) {
19689      console.warn("Not all pages have the same size. The printed " + "result may be incorrect!");
19690    }
19691
19692    this.pageStyleSheet = document.createElement("style");
19693    var pageSize = this.pagesOverview[0];
19694    this.pageStyleSheet.textContent = "@page { size: " + pageSize.width + "pt " + pageSize.height + "pt;}";
19695    body.appendChild(this.pageStyleSheet);
19696  },
19697  destroy: function destroy() {
19698    if (activeService !== this) {
19699      return;
19700    }
19701
19702    this.printContainer.textContent = "";
19703    var body = document.querySelector("body");
19704    body.removeAttribute("data-pdfjsprinting");
19705
19706    if (this.pageStyleSheet) {
19707      this.pageStyleSheet.remove();
19708      this.pageStyleSheet = null;
19709    }
19710
19711    this.scratchCanvas.width = this.scratchCanvas.height = 0;
19712    this.scratchCanvas = null;
19713    activeService = null;
19714    ensureOverlay().then(function () {
19715      if (overlayManager.active !== "printServiceOverlay") {
19716        return;
19717      }
19718
19719      overlayManager.close("printServiceOverlay");
19720    });
19721  },
19722  renderPages: function renderPages() {
19723    var _this = this;
19724
19725    if (this.pdfDocument.isPureXfa) {
19726      (0, _print_utils.getXfaHtmlForPrinting)(this.printContainer, this.pdfDocument);
19727      return Promise.resolve();
19728    }
19729
19730    var pageCount = this.pagesOverview.length;
19731
19732    var renderNextPage = function renderNextPage(resolve, reject) {
19733      _this.throwIfInactive();
19734
19735      if (++_this.currentPage >= pageCount) {
19736        renderProgress(pageCount, pageCount, _this.l10n);
19737        resolve();
19738        return;
19739      }
19740
19741      var index = _this.currentPage;
19742      renderProgress(index, pageCount, _this.l10n);
19743      renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index], _this._printResolution, _this._optionalContentConfigPromise).then(_this.useRenderedPage.bind(_this)).then(function () {
19744        renderNextPage(resolve, reject);
19745      }, reject);
19746    };
19747
19748    return new Promise(renderNextPage);
19749  },
19750  useRenderedPage: function useRenderedPage() {
19751    this.throwIfInactive();
19752    var img = document.createElement("img");
19753    var scratchCanvas = this.scratchCanvas;
19754
19755    if ("toBlob" in scratchCanvas && !_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {
19756      scratchCanvas.toBlob(function (blob) {
19757        img.src = URL.createObjectURL(blob);
19758      });
19759    } else {
19760      img.src = scratchCanvas.toDataURL();
19761    }
19762
19763    var wrapper = document.createElement("div");
19764    wrapper.className = "printedPage";
19765    wrapper.appendChild(img);
19766    this.printContainer.appendChild(wrapper);
19767    return new Promise(function (resolve, reject) {
19768      img.onload = resolve;
19769      img.onerror = reject;
19770    });
19771  },
19772  performPrint: function performPrint() {
19773    var _this2 = this;
19774
19775    this.throwIfInactive();
19776    return new Promise(function (resolve) {
19777      setTimeout(function () {
19778        if (!_this2.active) {
19779          resolve();
19780          return;
19781        }
19782
19783        print.call(window);
19784        setTimeout(resolve, 20);
19785      }, 0);
19786    });
19787  },
19788
19789  get active() {
19790    return this === activeService;
19791  },
19792
19793  throwIfInactive: function throwIfInactive() {
19794    if (!this.active) {
19795      throw new Error("This print request was cancelled or completed.");
19796    }
19797  }
19798};
19799var print = window.print;
19800
19801window.print = function () {
19802  if (activeService) {
19803    console.warn("Ignored window.print() because of a pending print job.");
19804    return;
19805  }
19806
19807  ensureOverlay().then(function () {
19808    if (activeService) {
19809      overlayManager.open("printServiceOverlay");
19810    }
19811  });
19812
19813  try {
19814    dispatchEvent("beforeprint");
19815  } finally {
19816    if (!activeService) {
19817      console.error("Expected print service to be initialized.");
19818      ensureOverlay().then(function () {
19819        if (overlayManager.active === "printServiceOverlay") {
19820          overlayManager.close("printServiceOverlay");
19821        }
19822      });
19823      return;
19824    }
19825
19826    var activeServiceOnEntry = activeService;
19827    activeService.renderPages().then(function () {
19828      return activeServiceOnEntry.performPrint();
19829    })["catch"](function () {}).then(function () {
19830      if (activeServiceOnEntry.active) {
19831        abort();
19832      }
19833    });
19834  }
19835};
19836
19837function dispatchEvent(eventType) {
19838  var event = document.createEvent("CustomEvent");
19839  event.initCustomEvent(eventType, false, false, "custom");
19840  window.dispatchEvent(event);
19841}
19842
19843function abort() {
19844  if (activeService) {
19845    activeService.destroy();
19846    dispatchEvent("afterprint");
19847  }
19848}
19849
19850function renderProgress(index, total, l10n) {
19851  var progressContainer = document.getElementById("printServiceOverlay");
19852  var progress = Math.round(100 * index / total);
19853  var progressBar = progressContainer.querySelector("progress");
19854  var progressPerc = progressContainer.querySelector(".relative-progress");
19855  progressBar.value = progress;
19856  l10n.get("print_progress_percent", {
19857    progress: progress
19858  }).then(function (msg) {
19859    progressPerc.textContent = msg;
19860  });
19861}
19862
19863window.addEventListener("keydown", function (event) {
19864  if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
19865    window.print();
19866    event.preventDefault();
19867
19868    if (event.stopImmediatePropagation) {
19869      event.stopImmediatePropagation();
19870    } else {
19871      event.stopPropagation();
19872    }
19873  }
19874}, true);
19875
19876if ("onbeforeprint" in window) {
19877  var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) {
19878    if (event.detail !== "custom" && event.stopImmediatePropagation) {
19879      event.stopImmediatePropagation();
19880    }
19881  };
19882
19883  window.addEventListener("beforeprint", stopPropagationIfNeeded);
19884  window.addEventListener("afterprint", stopPropagationIfNeeded);
19885}
19886
19887var overlayPromise;
19888
19889function ensureOverlay() {
19890  if (!overlayPromise) {
19891    overlayManager = _app.PDFViewerApplication.overlayManager;
19892
19893    if (!overlayManager) {
19894      throw new Error("The overlay manager has not yet been initialized.");
19895    }
19896
19897    overlayPromise = overlayManager.register("printServiceOverlay", document.getElementById("printServiceOverlay"), abort, true);
19898    document.getElementById("printCancel").onclick = abort;
19899  }
19900
19901  return overlayPromise;
19902}
19903
19904_app.PDFPrintServiceFactory.instance = {
19905  supportsPrinting: true,
19906  createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n) {
19907    if (activeService) {
19908      throw new Error("The print service is created and active.");
19909    }
19910
19911    activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n);
19912    return activeService;
19913  }
19914};
19915
19916/***/ }),
19917/* 48 */
19918/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
19919
19920
19921
19922Object.defineProperty(exports, "__esModule", ({
19923  value: true
19924}));
19925exports.getXfaHtmlForPrinting = getXfaHtmlForPrinting;
19926
19927var _ui_utils = __webpack_require__(6);
19928
19929var _xfa_layer_builder = __webpack_require__(36);
19930
19931var _pdfjsLib = __webpack_require__(7);
19932
19933function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
19934
19935function _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); }
19936
19937function _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; }
19938
19939function getXfaHtmlForPrinting(printContainer, pdfDocument) {
19940  var xfaHtml = pdfDocument.allXfaHtml;
19941  var factory = new _xfa_layer_builder.DefaultXfaLayerFactory();
19942  var scale = Math.round(_ui_utils.CSS_UNITS * 100) / 100;
19943
19944  var _iterator = _createForOfIteratorHelper(xfaHtml.children),
19945      _step;
19946
19947  try {
19948    for (_iterator.s();
19948 !(_step = _iterator.n()).done;) {
19949      var xfaPage = _step.value;
19950      var page = document.createElement("div");
19951      page.className = "xfaPrintedPage";
19952      printContainer.appendChild(page);
19953      var builder = factory.createXfaLayerBuilder(page, null, pdfDocument.annotationStorage, xfaPage);
19954      var viewport = (0, _pdfjsLib.getXfaPageViewport)(xfaPage, {
19955        scale: scale
19956      });
19957      builder.render(viewport, "print");
19958    }
19959  } catch (err) {
19960    _iterator.e(err);
19961  } finally {
19962    _iterator.f();
19963  }
19964}
19965
19966/***/ })
19967/******/ 	]);
19968/************************************************************************/
19969/******/ 	// The module cache
19970/******/ 	var __webpack_module_cache__ = {};
19971/******/
19972/******/ 	// The require function
19973/******/ 	function __webpack_require__(moduleId) {
19974/******/ 		// Check if module is in cache
19975/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
19976/******/ 		if (cachedModule !== undefined) {
19977/******/ 			return cachedModule.exports;
19978/******/ 		}
19979/******/ 		// Create a new module (and put it into the cache)
19980/******/ 		var module = __webpack_module_cache__[moduleId] = {
19981/******/ 			id: moduleId,
19982/******/ 			loaded: false,
19983/******/ 			exports: {}
19984/******/ 		};
19985/******/
19986/******/ 		// Execute the module function
19987/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
19988/******/
19989/******/ 		// Flag the module as loaded
19990/******/ 		module.loaded = true;
19991/******/
19992/******/ 		// Return the exports of the module
19993/******/ 		return module.exports;
19994/******/ 	}
19995/******/
19996/************************************************************************/
19997/******/ 	/* webpack/runtime/node module decorator */
19998/******/ 	(() => {
19999/******/ 		__webpack_require__.nmd = (module) => {
20000/******/ 			module.paths = [];
20001/******/ 			if (!module.children) module.children = [];
20002/******/ 			return module;
20003/******/ 		};
20004/******/ 	})();
20005/******/
20006/************************************************************************/
20007var __webpack_exports__ = {};
20008// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
20009(() => {
20010var exports = __webpack_exports__;
20011
20012
20013Object.defineProperty(exports, "__esModule", ({
20014  value: true
20015}));
20016Object.defineProperty(exports, "PDFViewerApplicationOptions", ({
20017  enumerable: true,
20018  get: function get() {
20019    return _app_options.AppOptions;
20020  }
20021}));
20022Object.defineProperty(exports, "PDFViewerApplication", ({
20023  enumerable: true,
20024  get: function get() {
20025    return _app.PDFViewerApplication;
20026  }
20027}));
20028
20029var _app_options = __webpack_require__(1);
20030
20031var _app = __webpack_require__(3);
20032
20033var pdfjsVersion = '2.10.377';
20034var pdfjsBuild = '156762c48';
20035window.PDFViewerApplication = _app.PDFViewerApplication;
20036window.PDFViewerApplicationOptions = _app_options.AppOptions;
20037;
20038;
20039{
20040  __webpack_require__(41);
20041}
20042;
20043{
20044  __webpack_require__(47);
20045}
20046
20047function getViewerConfiguration() {
20048  var errorWrapper = null;
20049  errorWrapper = {
20050    container: document.getElementById("errorWrapper"),
20051    errorMessage: document.getElementById("errorMessage"),
20052    closeButton: document.getElementById("errorClose"),
20053    errorMoreInfo: document.getElementById("errorMoreInfo"),
20054    moreInfoButton: document.getElementById("errorShowMore"),
20055    lessInfoButton: document.getElementById("errorShowLess")
20056  };
20057  return {
20058    appContainer: document.body,
20059    mainContainer: document.getElementById("viewerContainer"),
20060    viewerContainer: document.getElementById("viewer"),
20061    eventBus: null,
20062    toolbar: {
20063      container: document.getElementById("toolbarViewer"),
20064      numPages: document.getElementById("numPages"),
20065      pageNumber: document.getElementById("pageNumber"),
20066      scaleSelectContainer: document.getElementById("scaleSelectContainer"),
20067      scaleSelect: document.getElementById("scaleSelect"),
20068      customScaleOption: document.getElementById("customScaleOption"),
20069      previous: document.getElementById("previous"),
20070      next: document.getElementById("next"),
20071      zoomIn: document.getElementById("zoomIn"),
20072      zoomOut: document.getElementById("zoomOut"),
20073      viewFind: document.getElementById("viewFind"),
20074      openFile: document.getElementById("openFile"),
20075      print: document.getElementById("print"),
20076      presentationModeButton: document.getElementById("presentationMode"),
20077      download: document.getElementById("download"),
20078      viewBookmark: document.getElementById("viewBookmark")
20079    },
20080    secondaryToolbar: {
20081      toolbar: document.getElementById("secondaryToolbar"),
20082      toggleButton: document.getElementById("secondaryToolbarToggle"),
20083      toolbarButtonContainer: document.getElementById("secondaryToolbarButtonContainer"),
20084      presentationModeButton: document.getElementById("secondaryPresentationMode"),
20085      openFileButton: document.getElementById("secondaryOpenFile"),
20086      printButton: document.getElementById("secondaryPrint"),
20087      downloadButton: document.getElementById("secondaryDownload"),
20088      viewBookmarkButton: document.getElementById("secondaryViewBookmark"),
20089      firstPageButton: document.getElementById("firstPage"),
20090      lastPageButton: document.getElementById("lastPage"),
20091      pageRotateCwButton: document.getElementById("pageRotateCw"),
20092      pageRotateCcwButton: document.getElementById("pageRotateCcw"),
20093      cursorSelectToolButton: document.getElementById("cursorSelectTool"),
20094      cursorHandToolButton: document.getElementById("cursorHandTool"),
20095      scrollVerticalButton: document.getElementById("scrollVertical"),
20096      scrollHorizontalButton: document.getElementById("scrollHorizontal"),
20097      scrollWrappedButton: document.getElementById("scrollWrapped"),
20098      spreadNoneButton: document.getElementById("spreadNone"),
20099      spreadOddButton: document.getElementById("spreadOdd"),
20100      spreadEvenButton: document.getElementById("spreadEven"),
20101      documentPropertiesButton: document.getElementById("documentProperties")
20102    },
20103    sidebar: {
20104      outerContainer: document.getElementById("outerContainer"),
20105      viewerContainer: document.getElementById("viewerContainer"),
20106      toggleButton: document.getElementById("sidebarToggle"),
20107      thumbnailButton: document.getElementById("viewThumbnail"),
20108      outlineButton: document.getElementById("viewOutline"),
20109      attachmentsButton: document.getElementById("viewAttachments"),
20110      layersButton: document.getElementById("viewLayers"),
20111      thumbnailView: document.getElementById("thumbnailView"),
20112      outlineView: document.getElementById("outlineView"),
20113      attachmentsView: document.getElementById("attachmentsView"),
20114      layersView: document.getElementById("layersView"),
20115      outlineOptionsContainer: document.getElementById("outlineOptionsContainer"),
20116      currentOutlineItemButton: document.getElementById("currentOutlineItem")
20117    },
20118    sidebarResizer: {
20119      outerContainer: document.getElementById("outerContainer"),
20120      resizer: document.getElementById("sidebarResizer")
20121    },
20122    findBar: {
20123      bar: document.getElementById("findbar"),
20124      toggleButton: document.getElementById("viewFind"),
20125      findField: document.getElementById("findInput"),
20126      highlightAllCheckbox: document.getElementById("findHighlightAll"),
20127      caseSensitiveCheckbox: document.getElementById("findMatchCase"),
20128      entireWordCheckbox: document.getElementById("findEntireWord"),
20129      findMsg: document.getElementById("findMsg"),
20130      findResultsCount: document.getElementById("findResultsCount"),
20131      findPreviousButton: document.getElementById("findPrevious"),
20132      findNextButton: document.getElementById("findNext")
20133    },
20134    passwordOverlay: {
20135      overlayName: "passwordOverlay",
20136      container: document.getElementById("passwordOverlay"),
20137      label: document.getElementById("passwordText"),
20138      input: document.getElementById("password"),
20139      submitButton: document.getElementById("passwordSubmit"),
20140      cancelButton: document.getElementById("passwordCancel")
20141    },
20142    documentProperties: {
20143      overlayName: "documentPropertiesOverlay",
20144      container: document.getElementById("documentPropertiesOverlay"),
20145      closeButton: document.getElementById("documentPropertiesClose"),
20146      fields: {
20147        fileName: document.getElementById("fileNameField"),
20148        fileSize: document.getElementById("fileSizeField"),
20149        title: document.getElementById("titleField"),
20150        author: document.getElementById("authorField"),
20151        subject: document.getElementById("subjectField"),
20152        keywords: document.getElementById("keywordsField"),
20153        creationDate: document.getElementById("creationDateField"),
20154        modificationDate: document.getElementById("modificationDateField"),
20155        creator: document.getElementById("creatorField"),
20156        producer: document.getElementById("producerField"),
20157        version: document.getElementById("versionField"),
20158        pageCount: document.getElementById("pageCountField"),
20159        pageSize: document.getElementById("pageSizeField"),
20160        linearized: document.getElementById("linearizedField")
20161      }
20162    },
20163    errorWrapper: errorWrapper,
20164    printContainer: document.getElementById("printContainer"),
20165    openFileInputName: "fileInput",
20166    debuggerScriptPath: "./debugger.js"
20167  };
20168}
20169
20170function webViewerLoad() {
20171  var config = getViewerConfiguration();
20172  var event = document.createEvent("CustomEvent");
20173  event.initCustomEvent("webviewerloaded", true, true, {
20174    source: window
20175  });
20176
20177  try {
20178    parent.document.dispatchEvent(event);
20179  } catch (ex) {
20180    console.error("webviewerloaded: ".concat(ex));
20181    document.dispatchEvent(event);
20182  }
20183
20184  _app.PDFViewerApplication.run(config);
20185}
20186
20187if (document.blockUnblockOnload) {
20188  document.blockUnblockOnload(true);
20189}
20190
20191if (document.readyState === "interactive" || document.readyState === "complete") {
20192  webViewerLoad();
20193} else {
20194  document.addEventListener("DOMContentLoaded", webViewerLoad, true);
20195}
20196}
20196)();
20197
20198/******/ })()
20199;
20200//# sourceMappingURL=viewer.js.map

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