{"version":3,"file":"pdf_viewer.js","mappings":"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","sources":["webpack://pdfjs-dist/web/pdf_viewer/webpack/universalModuleDefinition","webpack://pdfjs-dist/web/pdf_viewer/web/default_factory.js","webpack://pdfjs-dist/web/pdf_viewer/web/annotation_editor_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdfjs.js","webpack://pdfjs-dist/web/pdf_viewer/web/l10n_utils.js","webpack://pdfjs-dist/web/pdf_viewer/web/annotation_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_link_service.js","webpack://pdfjs-dist/web/pdf_viewer/web/ui_utils.js","webpack://pdfjs-dist/web/pdf_viewer/web/struct_tree_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/text_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/xfa_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_viewer.js","webpack://pdfjs-dist/web/pdf_viewer/web/base_viewer.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_page_view.js","webpack://pdfjs-dist/web/pdf_viewer/web/app_options.js","webpack://pdfjs-dist/web/pdf_viewer/web/text_accessibility.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_rendering_queue.js","webpack://pdfjs-dist/web/pdf_viewer/web/text_highlighter.js","webpack://pdfjs-dist/web/pdf_viewer/web/download_manager.js","webpack://pdfjs-dist/web/pdf_viewer/web/event_utils.js","webpack://pdfjs-dist/web/pdf_viewer/web/genericl10n.js","webpack://pdfjs-dist/web/pdf_viewer/external/webL10n/l10n.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_find_controller.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_find_utils.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_history.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_scripting_manager.js","webpack://pdfjs-dist/web/pdf_viewer/web/generic_scripting.js","webpack://pdfjs-dist/web/pdf_viewer/webpack/bootstrap","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_viewer.component.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n})(globalThis, () => {\nreturn ","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./interfaces\").IDownloadManager} IDownloadManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFAnnotationLayerFactory} IPDFAnnotationLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFAnnotationEditorLayerFactory} IPDFAnnotationEditorLayerFactory */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFStructTreeLayerFactory} IPDFStructTreeLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFTextLayerFactory} IPDFTextLayerFactory */\n/** @typedef {import(\"./interfaces\").IPDFXfaLayerFactory} IPDFXfaLayerFactory */\n/** @typedef {import(\"./text_highlighter\").TextHighlighter} TextHighlighter */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport { AnnotationEditorLayerBuilder } from \"./annotation_editor_layer_builder.js\";\nimport { AnnotationLayerBuilder } from \"./annotation_layer_builder.js\";\nimport { NullL10n } from \"./l10n_utils.js\";\nimport { SimpleLinkService } from \"./pdf_link_service.js\";\nimport { StructTreeLayerBuilder } from \"./struct_tree_layer_builder.js\";\nimport { TextLayerBuilder } from \"./text_layer_builder.js\";\nimport { XfaLayerBuilder } from \"./xfa_layer_builder.js\";\n\n/**\n * @implements IPDFAnnotationLayerFactory\n */\nclass DefaultAnnotationLayerFactory {\n /**\n * @typedef {Object} CreateAnnotationLayerBuilderParameters\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage] - Storage for annotation\n * data in forms.\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderForms\n * @property {IL10n} l10n\n * @property {boolean} [enableScripting]\n * @property {Promise} [hasJSActionsPromise]\n * @property {Object} [mouseState]\n * @property {Promise> | null>}\n * [fieldObjectsPromise]\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n * @property {TextAccessibilityManager} [accessibilityManager]\n */\n\n /**\n * @param {CreateAnnotationLayerBuilderParameters}\n * @returns {AnnotationLayerBuilder}\n */\n createAnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n l10n = NullL10n,\n enableScripting = false,\n hasJSActionsPromise = null,\n mouseState = null,\n fieldObjectsPromise = null,\n annotationCanvasMap = null,\n accessibilityManager = null,\n }) {\n return new AnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n imageResourcesPath,\n renderForms,\n linkService: new SimpleLinkService(),\n l10n,\n annotationStorage,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n mouseState,\n annotationCanvasMap,\n accessibilityManager,\n });\n }\n}\n\n/**\n * @implements IPDFAnnotationEditorLayerFactory\n */\nclass DefaultAnnotationEditorLayerFactory {\n /**\n * @typedef {Object} CreateAnnotationEditorLayerBuilderParameters\n * @property {AnnotationEditorUIManager} [uiManager]\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {IL10n} l10n\n * @property {AnnotationStorage} [annotationStorage] - Storage for annotation\n * @property {TextAccessibilityManager} [accessibilityManager]\n * data in forms.\n */\n\n /**\n * @param {CreateAnnotationEditorLayerBuilderParameters}\n * @returns {AnnotationEditorLayerBuilder}\n */\n createAnnotationEditorLayerBuilder({\n uiManager = null,\n pageDiv,\n pdfPage,\n accessibilityManager = null,\n l10n,\n annotationStorage = null,\n }) {\n return new AnnotationEditorLayerBuilder({\n uiManager,\n pageDiv,\n pdfPage,\n accessibilityManager,\n l10n,\n annotationStorage,\n });\n }\n}\n\n/**\n * @implements IPDFStructTreeLayerFactory\n */\nclass DefaultStructTreeLayerFactory {\n /**\n * @typedef {Object} CreateStructTreeLayerBuilderParameters\n * @property {PDFPageProxy} pdfPage\n */\n\n /**\n * @param {CreateStructTreeLayerBuilderParameters}\n * @returns {StructTreeLayerBuilder}\n */\n createStructTreeLayerBuilder({ pdfPage }) {\n return new StructTreeLayerBuilder({\n pdfPage,\n });\n }\n}\n\n/**\n * @implements IPDFTextLayerFactory\n */\nclass DefaultTextLayerFactory {\n /**\n * @typedef {Object} CreateTextLayerBuilderParameters\n * @property {HTMLDivElement} textLayerDiv\n * @property {number} pageIndex\n * @property {PageViewport} viewport\n * @property {boolean} [enhanceTextSelection]\n * @property {EventBus} eventBus\n * @property {TextHighlighter} highlighter\n * @property {TextAccessibilityManager} [accessibilityManager]\n */\n\n /**\n * @param {CreateTextLayerBuilderParameters}\n * @returns {TextLayerBuilder}\n */\n createTextLayerBuilder({\n textLayerDiv,\n pageIndex,\n viewport,\n enhanceTextSelection = false,\n eventBus,\n highlighter,\n accessibilityManager = null,\n }) {\n return new TextLayerBuilder({\n textLayerDiv,\n pageIndex,\n viewport,\n enhanceTextSelection,\n eventBus,\n highlighter,\n accessibilityManager,\n });\n }\n}\n\n/**\n * @implements IPDFXfaLayerFactory\n */\nclass DefaultXfaLayerFactory {\n /**\n * @typedef {Object} CreateXfaLayerBuilderParameters\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage] - Storage for annotation\n * data in forms.\n */\n\n /**\n * @param {CreateXfaLayerBuilderParameters}\n * @returns {XfaLayerBuilder}\n */\n createXfaLayerBuilder({ pageDiv, pdfPage, annotationStorage = null }) {\n return new XfaLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage,\n linkService: new SimpleLinkService(),\n });\n }\n}\n\nexport {\n DefaultAnnotationEditorLayerFactory,\n DefaultAnnotationLayerFactory,\n DefaultStructTreeLayerFactory,\n DefaultTextLayerFactory,\n DefaultXfaLayerFactory,\n};\n","/* Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/editor/tools.js\").AnnotationEditorUIManager} AnnotationEditorUIManager */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../annotation_storage.js\").AnnotationStorage} AnnotationStorage */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n\nimport { AnnotationEditorLayer } from \"pdfjs-lib\";\nimport { NullL10n } from \"./l10n_utils.js\";\n\n/**\n * @typedef {Object} AnnotationEditorLayerBuilderOptions\n * @property {number} mode - Editor mode\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {TextAccessibilityManager} accessibilityManager\n * @property {AnnotationStorage} annotationStorage\n * @property {IL10n} l10n - Localization service.\n * @property {AnnotationEditorUIManager} uiManager\n */\n\nclass AnnotationEditorLayerBuilder {\n #uiManager;\n\n /**\n * @param {AnnotationEditorLayerBuilderOptions} options\n */\n constructor(options) {\n this.pageDiv = options.pageDiv;\n this.pdfPage = options.pdfPage;\n this.annotationStorage = options.annotationStorage || null;\n this.accessibilityManager = options.accessibilityManager;\n this.l10n = options.l10n || NullL10n;\n this.annotationEditorLayer = null;\n this.div = null;\n this._cancelled = false;\n this.#uiManager = options.uiManager;\n }\n\n /**\n * @param {PageViewport} viewport\n * @param {string} intent (default value is 'display')\n */\n async render(viewport, intent = \"display\") {\n if (intent !== \"display\") {\n return;\n }\n\n if (this._cancelled) {\n return;\n }\n\n const clonedViewport = viewport.clone({ dontFlip: true });\n if (this.div) {\n this.annotationEditorLayer.update({ viewport: clonedViewport });\n this.show();\n return;\n }\n\n // Create an AnnotationEditor layer div\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationEditorLayer\";\n this.div.tabIndex = 0;\n this.pageDiv.append(this.div);\n\n this.annotationEditorLayer = new AnnotationEditorLayer({\n uiManager: this.#uiManager,\n div: this.div,\n annotationStorage: this.annotationStorage,\n accessibilityManager: this.accessibilityManager,\n pageIndex: this.pdfPage._pageIndex,\n l10n: this.l10n,\n viewport: clonedViewport,\n });\n\n const parameters = {\n viewport: clonedViewport,\n div: this.div,\n annotations: null,\n intent,\n };\n\n this.annotationEditorLayer.render(parameters);\n }\n\n cancel() {\n this._cancelled = true;\n this.destroy();\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n\n show() {\n if (!this.div) {\n return;\n }\n this.div.hidden = false;\n }\n\n destroy() {\n if (!this.div) {\n return;\n }\n this.pageDiv = null;\n this.annotationEditorLayer.destroy();\n this.div.remove();\n }\n}\n\nexport { AnnotationEditorLayerBuilder };\n","/* Copyright 2016 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals module, __non_webpack_require__ */\n\n\"use strict\";\n\nlet pdfjsLib;\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = __non_webpack_require__(\"../build/pdf.js\");\n}\nmodule.exports = pdfjsLib;\n","/* Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A subset of the l10n strings in the `l10n/en-US/viewer.properties` file.\n */\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string:\n \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string:\n \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n\n print_progress_percent: \"{{progress}}%\",\n\n \"toggle_sidebar.title\": \"Toggle Sidebar\",\n \"toggle_sidebar_notification2.title\":\n \"Toggle Sidebar (document contains outline/attachments/layers)\",\n\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n\n error_version_info: \"PDF.js v{{version}} (build: {{build}})\",\n error_message: \"Message: {{message}}\",\n error_stack: \"Stack: {{stack}}\",\n error_file: \"File: {{file}}\",\n error_line: \"Line: {{line}}\",\n rendering_error: \"An error occurred while rendering the page.\",\n\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n\n loading: \"Loading…\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n\n printing_not_supported:\n \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled:\n \"Web fonts are disabled: unable to use embedded PDF fonts.\",\n\n free_text_default_content: \"Enter text…\",\n editor_free_text_aria_label: \"FreeText Editor\",\n editor_ink_aria_label: \"Ink Editor\",\n editor_ink_canvas_aria_label: \"User-created image\",\n};\n\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\n\nconst PARTIAL_LANG_CODES = {\n en: \"en-US\",\n es: \"es-ES\",\n fy: \"fy-NL\",\n ga: \"ga-IE\",\n gu: \"gu-IN\",\n hi: \"hi-IN\",\n hy: \"hy-AM\",\n nb: \"nb-NO\",\n ne: \"ne-NP\",\n nn: \"nn-NO\",\n pa: \"pa-IN\",\n pt: \"pt-PT\",\n sv: \"sv-SE\",\n zh: \"zh-CN\",\n};\n\n// Try to support \"incompletely\" specified language codes (see issue 13689).\nfunction fixupLangCode(langCode) {\n return PARTIAL_LANG_CODES[langCode?.toLowerCase()] || langCode;\n}\n\n// Replaces {{arguments}} with their values.\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\n/**\n * No-op implementation of the localization service.\n * @implements {IL10n}\n */\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n\n async getDirection() {\n return \"ltr\";\n },\n\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n\n async translate(element) {},\n};\n\nexport { fixupLangCode, getL10nFallback, NullL10n };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./interfaces\").IDownloadManager} IDownloadManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./textaccessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport { AnnotationLayer } from \"pdfjs-lib\";\nimport { NullL10n } from \"./l10n_utils.js\";\n\n/**\n * @typedef {Object} AnnotationLayerBuilderOptions\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage]\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderForms\n * @property {IPDFLinkService} linkService\n * @property {IDownloadManager} downloadManager\n * @property {IL10n} l10n - Localization service.\n * @property {boolean} [enableScripting]\n * @property {Promise} [hasJSActionsPromise]\n * @property {Promise> | null>}\n * [fieldObjectsPromise]\n * @property {Object} [mouseState]\n * @property {Map} [annotationCanvasMap]\n * @property {TextAccessibilityManager} accessibilityManager\n */\n\nclass AnnotationLayerBuilder {\n /**\n * @param {AnnotationLayerBuilderOptions} options\n */\n constructor({\n pageDiv,\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n l10n = NullL10n,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n mouseState = null,\n annotationCanvasMap = null,\n accessibilityManager = null,\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise;\n this._fieldObjectsPromise = fieldObjectsPromise;\n this._mouseState = mouseState;\n this._annotationCanvasMap = annotationCanvasMap;\n this._accessibilityManager = accessibilityManager;\n\n this.div = null;\n this._cancelled = false;\n }\n\n /**\n * @param {PageViewport} viewport\n * @param {string} intent (default value is 'display')\n * @returns {Promise} A promise that is resolved when rendering of the\n * annotations is complete.\n */\n async render(viewport, intent = \"display\") {\n const [annotations, hasJSActions = false, fieldObjects = null] =\n await Promise.all([\n this.pdfPage.getAnnotations({ intent }),\n this._hasJSActionsPromise,\n this._fieldObjectsPromise,\n ]);\n\n if (this._cancelled || annotations.length === 0) {\n return;\n }\n\n const parameters = {\n viewport: viewport.clone({ dontFlip: true }),\n div: this.div,\n annotations,\n page: this.pdfPage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects,\n mouseState: this._mouseState,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager,\n };\n\n if (this.div) {\n // If an annotationLayer already exists, refresh its children's\n // transformation matrices.\n AnnotationLayer.update(parameters);\n } else {\n // Create an annotation layer div and render the annotations\n // if there is at least one annotation.\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationLayer\";\n this.pageDiv.append(this.div);\n parameters.div = this.div;\n\n AnnotationLayer.render(parameters);\n this.l10n.translate(this.div);\n }\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\n\nexport { AnnotationLayerBuilder };\n","/* Copyright 2015 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n\nimport { parseQueryString, removeNullCharacters } from \"./ui_utils.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n\nconst LinkTarget = {\n NONE: 0, // Default value.\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4,\n};\n\n/**\n * @typedef {Object} ExternalLinkParameters\n * @property {string} url - An absolute URL.\n * @property {LinkTarget} [target] - The link target. The default value is\n * `LinkTarget.NONE`.\n * @property {string} [rel] - The link relationship. The default value is\n * `DEFAULT_LINK_REL`.\n * @property {boolean} [enabled] - Whether the link should be enabled. The\n * default value is true.\n */\n\n/**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLAnchorElement} link - The link element.\n * @param {ExternalLinkParameters} params\n */\nfunction addLinkAttributes(link, { url, target, rel, enabled = true } = {}) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n\n const urlNullRemoved = removeNullCharacters(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\"; // LinkTarget.NONE\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\n/**\n * @typedef {Object} PDFLinkServiceOptions\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} [externalLinkTarget] - Specifies the `target` attribute\n * for external links. Must use one of the values from {LinkTarget}.\n * Defaults to using no target.\n * @property {string} [externalLinkRel] - Specifies the `rel` attribute for\n * external links. Defaults to stripping the referrer.\n * @property {boolean} [ignoreDestinationZoom] - Ignores the zoom argument,\n * thus preserving the current zoom level in the viewer, when navigating\n * to internal destinations. The default value is `false`.\n */\n\n/**\n * Performs navigation functions inside PDF, such as opening specified page,\n * or destination.\n * @implements {IPDFLinkService}\n */\nclass PDFLinkService {\n #pagesRefCache = new Map();\n\n /**\n * @param {PDFLinkServiceOptions} options\n */\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false,\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this.#pagesRefCache.clear();\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n /**\n * @type {number}\n */\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n /**\n * @type {number}\n */\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n\n /**\n * @param {number} value\n */\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n\n /**\n * @type {number}\n */\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n\n /**\n * @param {number} value\n */\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n\n #goToDestinationHelper(rawDest, namedDest = null, explicitDest) {\n // Dest array looks like that: \n const destRef = explicitDest[0];\n let pageNumber;\n\n if (typeof destRef === \"object\" && destRef !== null) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (!pageNumber) {\n // Fetch the page reference if it's not yet available. This could\n // only occur during loading, before all pages have been resolved.\n this.pdfDocument\n .getPageIndex(destRef)\n .then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n this.#goToDestinationHelper(rawDest, namedDest, explicitDest);\n })\n .catch(() => {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` +\n `a valid page reference, for dest=\"${rawDest}\".`\n );\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` +\n `a valid destination reference, for dest=\"${rawDest}\".`\n );\n return;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${pageNumber}\" is not ` +\n `a valid page number, for dest=\"${rawDest}\".`\n );\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new destination into\n // view, to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({ namedDest, explicitDest, pageNumber });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom,\n });\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {string|Array} dest - The named, or explicit, PDF destination.\n */\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(\n `PDFLinkService.goToDestination: \"${explicitDest}\" is not ` +\n `a valid destination array, for dest=\"${dest}\".`\n );\n return;\n }\n this.#goToDestinationHelper(dest, namedDest, explicitDest);\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {number|string} val - The page number, or page label.\n */\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber =\n (typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val)) ||\n val | 0;\n if (\n !(\n Number.isInteger(pageNumber) &&\n pageNumber > 0 &&\n pageNumber <= this.pagesCount\n )\n ) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new page into view,\n // to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({ pageNumber });\n }\n\n /**\n * Wrapper around the `addLinkAttributes` helper function.\n * @param {HTMLAnchorElement} link\n * @param {string} url\n * @param {boolean} [newWindow]\n */\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel: this.externalLinkRel,\n enabled: this.externalLinkEnabled,\n });\n }\n\n /**\n * @param {string|Array} dest - The PDF destination object.\n * @returns {string} The hyperlink to the PDF object.\n */\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n\n /**\n * Prefix the full url on anchor links to make sure that links are resolved\n * relative to the current URL instead of the one defined in .\n * @param {string} anchor - The anchor hash, including the #.\n * @returns {string} The hyperlink to the PDF object.\n */\n getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n\n /**\n * @param {string} hash\n */\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = parseQueryString(hash);\n if (params.has(\"search\")) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.get(\"search\").replace(/\"/g, \"\"),\n phraseSearch: params.get(\"phrase\") === \"true\",\n });\n }\n // borrowing syntax from \"Parameters for Opening PDF Files\"\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n // Build the destination array.\n const zoomArgs = params.get(\"zoom\").split(\",\"); // scale,left,top\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n // If the zoomArg is a number, it has to get divided by 100. If it's\n // a string, it should stay as it is.\n dest = [\n null,\n { name: \"XYZ\" },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n zoomArgs.length > 2 ? zoomArgs[2] | 0 : null,\n zoomArgNumber ? zoomArgNumber / 100 : zoomArg,\n ];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, { name: zoomArg }];\n } else if (\n zoomArg === \"FitH\" ||\n zoomArg === \"FitBH\" ||\n zoomArg === \"FitV\" ||\n zoomArg === \"FitBV\"\n ) {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n ];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error(\n 'PDFLinkService.setHash: Not enough parameters for \"FitR\".'\n );\n } else {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs[1] | 0,\n zoomArgs[2] | 0,\n zoomArgs[3] | 0,\n zoomArgs[4] | 0,\n ];\n }\n } else {\n console.error(\n `PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`\n );\n }\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true,\n });\n } else if (pageNumber) {\n this.page = pageNumber; // simple page\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\"),\n });\n }\n // Ensure that this parameter is *always* handled last, in order to\n // guarantee that it won't be overridden (e.g. by the \"page\" parameter).\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n } else {\n // Named (or explicit) destination.\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n // Avoid incorrectly rejecting a valid named destination, such as\n // e.g. \"4.3\" or \"true\", because `JSON.parse` converted its type.\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (\n typeof dest === \"string\" ||\n PDFLinkService.#isValidExplicitDestination(dest)\n ) {\n this.goToDestination(dest);\n return;\n }\n console.error(\n `PDFLinkService.setHash: \"${unescape(\n hash\n )}\" is not a valid destination.`\n );\n }\n }\n\n /**\n * @param {string} action\n */\n executeNamedAction(action) {\n // See PDF reference, table 8.45 - Named action\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break; // No action according to spec\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action,\n });\n }\n\n /**\n * @param {number} pageNum - page number.\n * @param {Object} pageRef - reference to the page.\n */\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n const refStr =\n pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this.#pagesRefCache.set(refStr, pageNum);\n }\n\n /**\n * @ignore\n */\n _cachedPageNumber(pageRef) {\n if (!pageRef) {\n return null;\n }\n const refStr =\n pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this.#pagesRefCache.get(refStr) || null;\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(pageNumber);\n }\n\n static #isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n const destLength = dest.length;\n if (destLength < 2) {\n return false;\n }\n const page = dest[0];\n if (\n !(\n typeof page === \"object\" &&\n Number.isInteger(page.num) &&\n Number.isInteger(page.gen)\n ) &&\n !(Number.isInteger(page) && page >= 0)\n ) {\n return false;\n }\n const zoom = dest[1];\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n let allowNull = true;\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n break;\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n break;\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n if (!(typeof param === \"number\" || (allowNull && param === null))) {\n return false;\n }\n }\n return true;\n }\n}\n\n/**\n * @implements {IPDFLinkService}\n */\nclass SimpleLinkService {\n constructor() {\n this.externalLinkEnabled = true;\n }\n\n /**\n * @type {number}\n */\n get pagesCount() {\n return 0;\n }\n\n /**\n * @type {number}\n */\n get page() {\n return 0;\n }\n\n /**\n * @param {number} value\n */\n set page(value) {}\n\n /**\n * @type {number}\n */\n get rotation() {\n return 0;\n }\n\n /**\n * @param {number} value\n */\n set rotation(value) {}\n\n /**\n * @param {string|Array} dest - The named, or explicit, PDF destination.\n */\n async goToDestination(dest) {}\n\n /**\n * @param {number|string} val - The page number, or page label.\n */\n goToPage(val) {}\n\n /**\n * @param {HTMLAnchorElement} link\n * @param {string} url\n * @param {boolean} [newWindow]\n */\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, { url, enabled: this.externalLinkEnabled });\n }\n\n /**\n * @param dest - The PDF destination object.\n * @returns {string} The hyperlink to the PDF object.\n */\n getDestinationHash(dest) {\n return \"#\";\n }\n\n /**\n * @param hash - The PDF parameters/hash.\n * @returns {string} The hyperlink to the PDF object.\n */\n getAnchorUrl(hash) {\n return \"#\";\n }\n\n /**\n * @param {string} hash\n */\n setHash(hash) {}\n\n /**\n * @param {string} action\n */\n executeNamedAction(action) {}\n\n /**\n * @param {number} pageNum - page number.\n * @param {Object} pageRef - reference to the page.\n */\n cachePageRef(pageNum, pageRef) {}\n\n /**\n * @param {number} pageNumber\n */\n isPageVisible(pageNumber) {\n return true;\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageCached(pageNumber) {\n return true;\n }\n}\n\nexport { LinkTarget, PDFLinkService, SimpleLinkService };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 10.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\n\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3,\n};\n\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3,\n};\n\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1, // Default value.\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4,\n};\n\nconst RendererType =\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n ? {\n CANVAS: \"canvas\",\n SVG: \"svg\",\n }\n : null;\n\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2,\n};\n\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0, // Default value.\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3,\n};\n\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0, // Default value.\n ODD: 1,\n EVEN: 2,\n};\n\n// Used by `PDFViewerApplication`, and by the API unit-tests.\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\n\n/**\n * Scale factors for the canvas, necessary with HiDPI displays.\n */\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n\n /**\n * @type {number} Horizontal scale.\n */\n this.sx = pixelRatio;\n\n /**\n * @type {number} Vertical scale.\n */\n this.sy = pixelRatio;\n }\n\n /**\n * @type {boolean} Returns `true` when scaling is required, `false` otherwise.\n */\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n}\n\n/**\n * Scrolls specified element into view of its parent.\n * @param {Object} element - The element to be visible.\n * @param {Object} spot - An object with optional top and left properties,\n * specifying the offset from the top left edge.\n * @param {boolean} [scrollMatches] - When scrolling search results into view,\n * ignore elements that either: Contains marked content identifiers,\n * or have the CSS-rule `overflow: hidden;` set. The default value is `false`.\n */\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n // Assuming offsetParent is available (it's not available when viewer is in\n // hidden iframe or object). We have to scroll: if the offsetParent is not set\n // producing the error. See also animationStarted.\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (\n (parent.clientHeight === parent.scrollHeight &&\n parent.clientWidth === parent.scrollWidth) ||\n (scrollMatches &&\n (parent.classList.contains(\"markedContent\") ||\n getComputedStyle(parent).overflow === \"hidden\"))\n ) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n\n parent = parent.offsetParent;\n if (!parent) {\n return; // no need to scroll\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\n\n/**\n * Helper function to start monitoring the scroll event and converting them into\n * PDF.js friendly one: with scroll debounce and scroll direction.\n */\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n // schedule an invocation of scroll for next animation frame.\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll,\n };\n\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\n/**\n * Helper function to parse query string (e.g. ?param1=value¶m2=...).\n * @param {string}\n * @returns {Map}\n */\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\n\nconst NullCharactersRegExp = /\\x00/g;\nconst InvisibleCharactersRegExp = /[\\x01-\\x1F]/g;\n\n/**\n * @param {string} str\n * @param {boolean} [replaceInvisible]\n */\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (typeof str !== \"string\") {\n console.error(`The argument must be a string.`);\n return str;\n }\n if (replaceInvisible) {\n str = str.replace(InvisibleCharactersRegExp, \" \");\n }\n return str.replace(NullCharactersRegExp, \"\");\n}\n\n/**\n * Use binary search to find the index of the first item in a given array which\n * passes a given condition. The items are expected to be sorted in the sense\n * that if the condition is true for one item in the array, then it is also true\n * for all following items.\n *\n * @returns {number} Index of the first array element to pass the test,\n * or |items.length| if no such element exists.\n */\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = (minIndex + maxIndex) >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex; /* === maxIndex */\n}\n\n/**\n * Approximates float number as a fraction using Farey sequence (max order\n * of 8).\n * @param {number} x - Positive float number.\n * @returns {Array} Estimated fraction: the first array item is a numerator,\n * the second one is a denominator.\n */\nfunction approximateFraction(x) {\n // Fast paths for int numbers or their inversions.\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n // a/b and c/d are neighbours in Farey sequence.\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n // Limiting search to order 8.\n while (true) {\n // Generating next term in sequence (order of q).\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n // Select closest of the neighbours to x.\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\n\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\n/**\n * @typedef {Object} GetPageSizeInchesParameters\n * @property {number[]} view\n * @property {number} userUnit\n * @property {number} rotate\n */\n\n/**\n * @typedef {Object} PageSize\n * @property {number} width - In inches.\n * @property {number} height - In inches.\n */\n\n/**\n * Gets the size of the specified page, converted from PDF units to inches.\n * @param {GetPageSizeInchesParameters} params\n * @returns {PageSize}\n */\nfunction getPageSizeInches({ view, userUnit, rotate }) {\n const [x1, y1, x2, y2] = view;\n // We need to take the page rotation into account as well.\n const changeOrientation = rotate % 180 !== 0;\n\n const width = ((x2 - x1) / 72) * userUnit;\n const height = ((y2 - y1) / 72) * userUnit;\n\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height,\n };\n}\n\n/**\n * Helper function for getVisibleElements.\n *\n * @param {number} index - initial guess at the first visible element\n * @param {Array} views - array of pages, into which `index` is an index\n * @param {number} top - the top of the scroll pane\n * @returns {number} less than or equal to `index` that is definitely at or\n * before the first visible element in `views`, but not by too much. (Usually,\n * this will be the first element in the first partially visible row in\n * `views`, although sometimes it goes back one row further.)\n */\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n // binarySearchFirstItem's assumption is that the input is ordered, with only\n // one index where the conditions flips from false to true: [false ...,\n // true...]. With vertical scrolling and spreads, it is possible to have\n // [false ..., true, false, true ...]. With wrapped scrolling we can have a\n // similar sequence, with many more mixed true and false in the middle.\n //\n // So there is no guarantee that the binary search yields the index of the\n // first visible element. It could have been any of the other visible elements\n // that were preceded by a hidden element.\n\n // Of course, if either this element or the previous (hidden) element is also\n // the first element, there's nothing to worry about.\n if (index < 2) {\n return index;\n }\n\n // That aside, the possible cases are represented below.\n //\n // **** = fully hidden\n // A*B* = mix of partially visible and/or hidden pages\n // CDEF = fully visible\n //\n // (1) Binary search could have returned A, in which case we can stop.\n // (2) Binary search could also have returned B, in which case we need to\n // check the whole row.\n // (3) Binary search could also have returned C, in which case we need to\n // check the whole previous row.\n //\n // There's one other possibility:\n //\n // **** = fully hidden\n // ABCD = mix of fully and/or partially visible pages\n //\n // (4) Binary search could only have returned A.\n\n // Initially assume that we need to find the beginning of the current row\n // (case 1, 2, or 4), which means finding a page that is above the current\n // page's top. If the found page is partially visible, we're definitely not in\n // case 3, and this assumption is correct.\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n // The found page is fully visible, so we're actually either in case 3 or 4,\n // and unfortunately we can't tell the difference between them without\n // scanning the entire previous row, so we just conservatively assume that\n // we do need to backtrack to that row. In both cases, the previous page is\n // in the previous row, so use its top instead.\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n // Now we backtrack to the first page that still has its bottom below\n // `pageTop`, which is the top of a page in the first visible row (unless\n // we're in case 4, in which case it's the row before that).\n // `index` is found by binary search, so the page at `index - 1` is\n // invisible and we can start looking for potentially visible pages from\n // `index - 2`. (However, if this loop terminates on its first iteration,\n // which is the case when pages are stacked vertically, `index` should remain\n // unchanged, so we use a distinct loop variable.)\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n // We have reached the previous row, so stop now.\n // This loop is expected to terminate relatively quickly because the\n // number of pages per row is expected to be small.\n break;\n }\n index = i;\n }\n return index;\n}\n\n/**\n * @typedef {Object} GetVisibleElementsParameters\n * @property {HTMLElement} scrollEl - A container that can possibly scroll.\n * @property {Array} views - Objects with a `div` property that contains an\n * HTMLElement, which should all be descendants of `scrollEl` satisfying the\n * relevant layout assumptions.\n * @property {boolean} sortByVisibility - If `true`, the returned elements are\n * sorted in descending order of the percent of their padding box that is\n * visible. The default value is `false`.\n * @property {boolean} horizontal - If `true`, the elements are assumed to be\n * laid out horizontally instead of vertically. The default value is `false`.\n * @property {boolean} rtl - If `true`, the `scrollEl` container is assumed to\n * be in right-to-left mode. The default value is `false`.\n */\n\n/**\n * Generic helper to find out what elements are visible within a scroll pane.\n *\n * Well, pretty generic. There are some assumptions placed on the elements\n * referenced by `views`:\n * - If `horizontal`, no left of any earlier element is to the right of the\n * left of any later element.\n * - Otherwise, `views` can be split into contiguous rows where, within a row,\n * no top of any element is below the bottom of any other element, and\n * between rows, no bottom of any element in an earlier row is below the\n * top of any element in a later row.\n *\n * (Here, top, left, etc. all refer to the padding edge of the element in\n * question. For pages, that ends up being equivalent to the bounding box of the\n * rendering canvas. Earlier and later refer to index in `views`, not page\n * layout.)\n *\n * @param {GetVisibleElementsParameters}\n * @returns {Object} `{ first, last, views: [{ id, x, y, view, percent }] }`\n */\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false,\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n // Throughout this \"generic\" function, comments will assume we're working with\n // PDF document pages, which is the most important and complex case. In this\n // case, the visible elements we're actually interested is the page canvas,\n // which is contained in a wrapper which adds no padding/border/margin, which\n // is itself contained in `view.div` which adds no padding (but does add a\n // border). So, as specified in this function's doc comment, this function\n // does all of its work on the padding edge of the provided views, starting at\n // offsetLeft/Top (which includes margin) and adding clientLeft/Top (which is\n // the border). Adding clientWidth/Height gets us the bottom-right corner of\n // the padding edge.\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom =\n element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(\n views,\n horizontal\n ? isElementNextAfterViewHorizontally\n : isElementBottomAfterViewTop\n );\n\n // Please note the return value of the `binarySearchFirstItem` function when\n // no valid element is found (hence the `firstVisibleElementInd` check below).\n if (\n firstVisibleElementInd > 0 &&\n firstVisibleElementInd < numViews &&\n !horizontal\n ) {\n // In wrapped scrolling (or vertical scrolling with spreads), with some page\n // sizes, isElementBottomAfterViewTop doesn't satisfy the binary search\n // condition: there can be pages with bottoms above the view top between\n // pages with bottoms below. This function detects and corrects that error;\n // see it for more comments.\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(\n firstVisibleElementInd,\n views,\n top\n );\n }\n\n // lastEdge acts as a cutoff for us to stop looping, because we know all\n // subsequent pages will be hidden.\n //\n // When using wrapped scrolling or vertical scrolling with spreads, we can't\n // simply stop the first time we reach a page below the bottom of the view;\n // the tops of subsequent pages on the same row could still be visible. In\n // horizontal scrolling, we don't have that issue, so we can stop as soon as\n // we pass `right`, without needing the code below that handles the -1 case.\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n // As commented above, this is only needed in non-horizontal cases.\n // Setting lastEdge to the bottom of the first page that is partially\n // visible ensures that the next page fully below lastEdge is on the\n // next row, which has to be fully hidden along with all subsequent rows.\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (\n viewBottom <= top ||\n currentHeight >= bottom ||\n viewRight <= left ||\n currentWidth >= right\n ) {\n continue;\n }\n\n const hiddenHeight =\n Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth =\n Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = (fractionHeight * fractionWidth * 100) | 0;\n\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: (fractionWidth * 100) | 0,\n });\n ids.add(view.id);\n }\n\n const first = visible[0],\n last = visible.at(-1);\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id; // ensure stability\n });\n }\n return { first, last, views: visible, ids };\n}\n\n/**\n * Event handler to suppress context menu.\n */\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n // All that is left-up oriented has to change the sign.\n delta = -delta;\n }\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n let delta = normalizeWheelEventDirection(evt);\n\n const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n const MOUSE_DOM_DELTA_LINE_MODE = 1;\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n // Converts delta to per-page units\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(ScrollMode).includes(mode) &&\n mode !== ScrollMode.UNKNOWN\n );\n}\n\nfunction isValidSpreadMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(SpreadMode).includes(mode) &&\n mode !== SpreadMode.UNKNOWN\n );\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\n/**\n * Promise that is resolved when DOM window becomes visible.\n */\nconst animationStarted = new Promise(function (resolve) {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof window === \"undefined\"\n ) {\n // Prevent \"ReferenceError: window is not defined\" errors when running the\n // unit-tests in Node.js environments.\n setTimeout(resolve, 20);\n return;\n }\n window.requestAnimationFrame(resolve);\n});\n\nconst docStyle =\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof document === \"undefined\"\n ? null\n : document.documentElement.style;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n #classList = null;\n\n #percent = 0;\n\n #visible = true;\n\n constructor(id) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n arguments.length > 1\n ) {\n throw new Error(\n \"ProgressBar no longer accepts any additional options, \" +\n \"please use CSS rules to modify its appearance instead.\"\n );\n }\n const bar = document.getElementById(id);\n this.#classList = bar.classList;\n }\n\n get percent() {\n return this.#percent;\n }\n\n set percent(val) {\n this.#percent = clamp(val, 0, 100);\n\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n\n docStyle.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n docStyle.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\n\n/**\n * Get the active or focused element in current DOM.\n *\n * Recursively search for the truly active or focused element in case there are\n * shadow DOMs.\n *\n * @returns {Element} the truly active or focused element.\n */\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\n/**\n * Converts API PageLayout values to the format used by `BaseViewer`.\n * NOTE: This is supported to the extent that the viewer implements the\n * necessary Scroll/Spread modes (since SinglePage, TwoPageLeft,\n * and TwoPageRight all suggests using non-continuous scrolling).\n * @param {string} mode - The API PageLayout value.\n * @returns {Object}\n */\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return { scrollMode, spreadMode };\n}\n\n/**\n * Converts API PageMode values to the format used by `PDFSidebar`.\n * NOTE: There's also a \"FullScreen\" parameter which is not possible to support,\n * since the Fullscreen API used in browsers requires that entering\n * fullscreen mode only occurs as a result of a user-initiated event.\n * @param {string} mode - The API PageMode value.\n * @returns {number} A value from {SidebarView}.\n */\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE; // Default value.\n}\n\nexport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n approximateFraction,\n AutoPrintRegExp,\n backtrackBeforeAllVisibleElements, // only exported for testing\n binarySearchFirstItem,\n DEFAULT_SCALE,\n DEFAULT_SCALE_DELTA,\n DEFAULT_SCALE_VALUE,\n docStyle,\n getActiveOrFocusedElement,\n getPageSizeInches,\n getVisibleElements,\n isPortraitOrientation,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n MAX_AUTO_SCALE,\n MAX_SCALE,\n MIN_SCALE,\n noContextMenuHandler,\n normalizeWheelEventDelta,\n normalizeWheelEventDirection,\n OutputScale,\n parseQueryString,\n PresentationModeState,\n ProgressBar,\n removeNullCharacters,\n RendererType,\n RenderingStates,\n roundToDivide,\n SCROLLBAR_PADDING,\n scrollIntoView,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n UNKNOWN_SCALE,\n VERTICAL_PADDING,\n watchScroll,\n};\n","/* Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n\nconst PDF_ROLE_TO_HTML_ROLE = {\n // Document level structure types\n Document: null, // There's a \"document\" role, but it doesn't make sense here.\n DocumentFragment: null,\n // Grouping level structure types\n Part: \"group\",\n Sect: \"group\", // XXX: There's a \"section\" role, but it's abstract.\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n // Block level structure types\n P: null,\n // H,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n // Sub-block level structure type\n Sub: \"group\",\n // General inline level structure types\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n // Ruby and Warichu structure types\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n // List standard structure types\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n // Table standard structure types\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n // Standard structure type Caption\n Caption: null,\n // Standard structure type Figure\n Figure: \"figure\",\n // Standard structure type Formula\n Formula: null,\n // standard structure type Artifact\n Artifact: null,\n};\n\nconst HEADING_PATTERN = /^H(\\d+)$/;\n\n/**\n * @typedef {Object} StructTreeLayerBuilderOptions\n * @property {PDFPageProxy} pdfPage\n */\n\nclass StructTreeLayerBuilder {\n /**\n * @param {StructTreeLayerBuilderOptions} options\n */\n constructor({ pdfPage }) {\n this.pdfPage = pdfPage;\n }\n\n render(structTree) {\n return this._walk(structTree);\n }\n\n _setAttributes(structElement, htmlElement) {\n if (structElement.alt !== undefined) {\n htmlElement.setAttribute(\"aria-label\", structElement.alt);\n }\n if (structElement.id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", structElement.id);\n }\n if (structElement.lang !== undefined) {\n htmlElement.setAttribute(\"lang\", structElement.lang);\n }\n }\n\n _walk(node) {\n if (!node) {\n return null;\n }\n\n const element = document.createElement(\"span\");\n if (\"role\" in node) {\n const { role } = node;\n const match = role.match(HEADING_PATTERN);\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n }\n\n this._setAttributes(node, element);\n\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n // Often there is only one content node so just set the values on the\n // parent node to avoid creating an extra span.\n this._setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.append(this._walk(kid));\n }\n }\n }\n return element;\n }\n}\n\nexport { StructTreeLayerBuilder };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./text_highlighter\").TextHighlighter} TextHighlighter */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport { renderTextLayer } from \"pdfjs-lib\";\n\nconst EXPAND_DIVS_TIMEOUT = 300; // ms\n\n/**\n * @typedef {Object} TextLayerBuilderOptions\n * @property {HTMLDivElement} textLayerDiv - The text layer container.\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} pageIndex - The page index.\n * @property {PageViewport} viewport - The viewport of the text layer.\n * @property {TextHighlighter} highlighter - Optional object that will handle\n * highlighting text from the find controller.\n * @property {boolean} enhanceTextSelection - Option to turn on improved\n * text selection.\n * @property {TextAccessibilityManager} [accessibilityManager]\n */\n\n/**\n * The text layer builder provides text selection functionality for the PDF.\n * It does this by creating overlay divs over the PDF's text. These divs\n * contain text that matches the PDF text they are overlaying.\n */\nclass TextLayerBuilder {\n constructor({\n textLayerDiv,\n eventBus,\n pageIndex,\n viewport,\n highlighter = null,\n enhanceTextSelection = false,\n accessibilityManager = null,\n }) {\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageNumber = pageIndex + 1;\n this.viewport = viewport;\n this.textDivs = [];\n this.textLayerRenderTask = null;\n this.highlighter = highlighter;\n this.enhanceTextSelection = enhanceTextSelection;\n this.accessibilityManager = accessibilityManager;\n\n this._bindMouse();\n }\n\n /**\n * @private\n */\n _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.append(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length,\n });\n }\n\n /**\n * Renders the text layer.\n *\n * @param {number} [timeout] - Wait for a specified amount of milliseconds\n * before rendering.\n */\n render(timeout = 0) {\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n this.cancel();\n\n this.textDivs.length = 0;\n this.highlighter?.setTextMapping(this.textDivs, this.textContentItemsStr);\n this.accessibilityManager?.setTextMapping(this.textDivs);\n\n const textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = renderTextLayer({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout,\n enhanceTextSelection: this.enhanceTextSelection,\n });\n this.textLayerRenderTask.promise.then(\n () => {\n this.textLayerDiv.append(textLayerFrag);\n this._finishRendering();\n this.highlighter?.enable();\n this.accessibilityManager?.enable();\n },\n function (reason) {\n // Cancelled or failed to render text layer; skipping errors.\n }\n );\n }\n\n /**\n * Cancel rendering of the text layer.\n */\n cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n this.highlighter?.disable();\n this.accessibilityManager?.disable();\n }\n\n setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n\n setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n\n /**\n * Improves text selection by adding an additional div where the mouse was\n * clicked. This reduces flickering of the content if the mouse is slowly\n * dragged up or down.\n *\n * @private\n */\n _bindMouse() {\n const div = this.textLayerDiv;\n let expandDivsTimer = null;\n\n div.addEventListener(\"mousedown\", evt => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(true);\n if (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) &&\n expandDivsTimer\n ) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n if (!end) {\n return;\n }\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n // On non-Firefox browsers, the selection will feel better if the height\n // of the `endOfContent` div is adjusted to start at mouse click\n // location. This avoids flickering when the selection moves up.\n // However it does not work when selection is started on empty space.\n let adjustTop = evt.target !== div;\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n adjustTop =\n adjustTop &&\n window\n .getComputedStyle(end)\n .getPropertyValue(\"-moz-user-select\") !== \"none\";\n }\n if (adjustTop) {\n const divBounds = div.getBoundingClientRect();\n const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n }\n end.classList.add(\"active\");\n });\n\n div.addEventListener(\"mouseup\", () => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n expandDivsTimer = setTimeout(() => {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(false);\n }\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n } else {\n this.textLayerRenderTask.expandTextDivs(false);\n }\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n if (!end) {\n return;\n }\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n end.style.top = \"\";\n }\n end.classList.remove(\"active\");\n });\n }\n}\n\nexport { TextLayerBuilder };\n","/* Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n\nimport { XfaLayer } from \"pdfjs-lib\";\n\n/**\n * @typedef {Object} XfaLayerBuilderOptions\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage]\n * @property {IPDFLinkService} linkService\n * @property {Object} [xfaHtml]\n */\n\nclass XfaLayerBuilder {\n /**\n * @param {XfaLayerBuilderOptions} options\n */\n constructor({\n pageDiv,\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null,\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n\n this.div = null;\n this._cancelled = false;\n }\n\n /**\n * @param {PageViewport} viewport\n * @param {string} intent (default value is 'display')\n * @returns {Promise} A promise that is resolved when rendering\n * of the XFA layer is complete. The first rendering will return an object\n * with a `textDivs` property that can be used with the TextHighlighter.\n */\n render(viewport, intent = \"display\") {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({ dontFlip: true }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent,\n };\n\n // Create an xfa layer div and render the form\n const div = document.createElement(\"div\");\n this.pageDiv.append(div);\n parameters.div = div;\n\n const result = XfaLayer.render(parameters);\n return Promise.resolve(result);\n }\n\n // intent === \"display\"\n return this.pdfPage\n .getXfa()\n .then(xfaHtml => {\n if (this._cancelled || !xfaHtml) {\n return { textDivs: [] };\n }\n\n const parameters = {\n viewport: viewport.clone({ dontFlip: true }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent,\n };\n\n if (this.div) {\n return XfaLayer.update(parameters);\n }\n // Create an xfa layer div and render the form\n this.div = document.createElement(\"div\");\n this.pageDiv.append(this.div);\n parameters.div = this.div;\n return XfaLayer.render(parameters);\n })\n .catch(error => {\n console.error(error);\n });\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\n\nexport { XfaLayerBuilder };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScrollMode, SpreadMode } from \"./ui_utils.js\";\nimport { BaseViewer } from \"./base_viewer.js\";\n\nclass PDFViewer extends BaseViewer {}\n\nclass PDFSinglePageViewer extends BaseViewer {\n _resetView() {\n super._resetView();\n this._scrollMode = ScrollMode.PAGE;\n this._spreadMode = SpreadMode.NONE;\n }\n\n // eslint-disable-next-line accessor-pairs\n set scrollMode(mode) {}\n\n _updateScrollMode() {}\n\n // eslint-disable-next-line accessor-pairs\n set spreadMode(mode) {}\n\n _updateSpreadMode() {}\n}\n\nexport { PDFSinglePageViewer, PDFViewer };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFDocumentProxy} PDFDocumentProxy */\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./interfaces\").IDownloadManager} IDownloadManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFAnnotationLayerFactory} IPDFAnnotationLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFAnnotationEditorLayerFactory} IPDFAnnotationEditorLayerFactory */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFStructTreeLayerFactory} IPDFStructTreeLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFTextLayerFactory} IPDFTextLayerFactory */\n/** @typedef {import(\"./interfaces\").IPDFXfaLayerFactory} IPDFXfaLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport {\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationMode,\n createPromiseCapability,\n PermissionFlag,\n PixelsPerInch,\n version,\n} from \"pdfjs-lib\";\nimport {\n DEFAULT_SCALE,\n DEFAULT_SCALE_DELTA,\n DEFAULT_SCALE_VALUE,\n docStyle,\n getVisibleElements,\n isPortraitOrientation,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n MAX_AUTO_SCALE,\n MAX_SCALE,\n MIN_SCALE,\n PresentationModeState,\n RendererType,\n RenderingStates,\n SCROLLBAR_PADDING,\n scrollIntoView,\n ScrollMode,\n SpreadMode,\n TextLayerMode,\n UNKNOWN_SCALE,\n VERTICAL_PADDING,\n watchScroll,\n} from \"./ui_utils.js\";\nimport { AnnotationEditorLayerBuilder } from \"./annotation_editor_layer_builder.js\";\nimport { AnnotationLayerBuilder } from \"./annotation_layer_builder.js\";\nimport { NullL10n } from \"./l10n_utils.js\";\nimport { PDFPageView } from \"./pdf_page_view.js\";\nimport { PDFRenderingQueue } from \"./pdf_rendering_queue.js\";\nimport { SimpleLinkService } from \"./pdf_link_service.js\";\nimport { StructTreeLayerBuilder } from \"./struct_tree_layer_builder.js\";\nimport { TextHighlighter } from \"./text_highlighter.js\";\nimport { TextLayerBuilder } from \"./text_layer_builder.js\";\nimport { XfaLayerBuilder } from \"./xfa_layer_builder.js\";\n\nconst DEFAULT_CACHE_SIZE = 10;\nconst ENABLE_PERMISSIONS_CLASS = \"enablePermissions\";\n\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 15000,\n FORCE_LAZY_PAGE_INIT: 7500,\n PAUSE_EAGER_PAGE_INIT: 250,\n};\n\nfunction isValidAnnotationEditorMode(mode) {\n return (\n Object.values(AnnotationEditorType).includes(mode) &&\n mode !== AnnotationEditorType.DISABLE\n );\n}\n\n/**\n * @typedef {Object} PDFViewerOptions\n * @property {HTMLDivElement} container - The container for the viewer element.\n * @property {HTMLDivElement} [viewer] - The viewer element.\n * @property {EventBus} eventBus - The application event bus.\n * @property {IPDFLinkService} linkService - The navigation/linking service.\n * @property {IDownloadManager} [downloadManager] - The download manager\n * component.\n * @property {PDFFindController} [findController] - The find controller\n * component.\n * @property {PDFScriptingManager} [scriptingManager] - The scripting manager\n * component.\n * @property {PDFRenderingQueue} [renderingQueue] - The rendering queue object.\n * @property {boolean} [removePageBorders] - Removes the border shadow around\n * the pages. The default value is `false`.\n * @property {number} [textLayerMode] - Controls if the text layer used for\n * selection and searching is created, and if the improved text selection\n * behaviour is enabled. The constants from {TextLayerMode} should be used.\n * The default value is `TextLayerMode.ENABLE`.\n * @property {number} [annotationMode] - Controls if the annotation layer is\n * created, and if interactive form elements or `AnnotationStorage`-data are\n * being rendered. The constants from {@link AnnotationMode} should be used;\n * see also {@link RenderParameters} and {@link GetOperatorListParameters}.\n * The default value is `AnnotationMode.ENABLE_FORMS`.\n * @property {number} [annotationEditorMode] - Enables the creation and editing\n * of new Annotations. The constants from {@link AnnotationEditorType} should\n * be used. The default value is `AnnotationEditorType.DISABLE`.\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * mainly for annotation icons. Include trailing slash.\n * @property {boolean} [enablePrintAutoRotate] - Enables automatic rotation of\n * landscape pages upon printing. The default is `false`.\n * @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default\n * value is `false`.\n * @property {number} [maxCanvasPixels] - The maximum supported canvas size in\n * total pixels, i.e. width * height. Use -1 for no limit. The default value\n * is 4096 * 4096 (16 mega-pixels).\n * @property {IL10n} l10n - Localization service.\n * @property {boolean} [enablePermissions] - Enables PDF document permissions,\n * when they exist. The default value is `false`.\n * @property {Object} [pageColors] - Overwrites background and foreground colors\n * with user defined ones in order to improve readability in high contrast\n * mode.\n */\n\nclass PDFPageViewBuffer {\n // Here we rely on the fact that `Set`s preserve the insertion order.\n #buf = new Set();\n\n #size = 0;\n\n constructor(size) {\n this.#size = size;\n }\n\n push(view) {\n const buf = this.#buf;\n if (buf.has(view)) {\n buf.delete(view); // Move the view to the \"end\" of the buffer.\n }\n buf.add(view);\n\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n\n /**\n * After calling resize, the size of the buffer will be `newSize`.\n * The optional parameter `idsToKeep` is, if present, a Set of page-ids to\n * push to the back of the buffer, delaying their destruction. The size of\n * `idsToKeep` has no impact on the final size of the buffer; if `idsToKeep`\n * is larger than `newSize`, some of those pages will be destroyed anyway.\n */\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n\n const buf = this.#buf;\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view); // Move the view to the \"end\" of the buffer.\n buf.add(view);\n }\n if (++i > ii) {\n break;\n }\n }\n }\n\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n\n has(view) {\n return this.#buf.has(view);\n }\n\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n}\n\n/**\n * Simple viewer control to display PDF content/pages.\n *\n * @implements {IPDFAnnotationLayerFactory}\n * @implements {IPDFAnnotationEditorLayerFactory}\n * @implements {IPDFStructTreeLayerFactory}\n * @implements {IPDFTextLayerFactory}\n * @implements {IPDFXfaLayerFactory}\n */\nclass BaseViewer {\n #buffer = null;\n\n #annotationEditorMode = AnnotationEditorType.DISABLE;\n\n #annotationEditorUIManager = null;\n\n #annotationMode = AnnotationMode.ENABLE_FORMS;\n\n #enablePermissions = false;\n\n #previousContainerHeight = 0;\n\n #scrollModePageState = null;\n\n #onVisibilityChange = null;\n\n /**\n * @param {PDFViewerOptions} options\n */\n constructor(options) {\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n const viewerVersion =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : null;\n if (version !== viewerVersion) {\n throw new Error(\n `The API version \"${version}\" does not match the Viewer version \"${viewerVersion}\".`\n );\n }\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n ) {\n if (\n !(\n this.container?.tagName.toUpperCase() === \"DIV\" &&\n this.viewer?.tagName.toUpperCase() === \"DIV\"\n )\n ) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n\n if (\n this.container.offsetParent &&\n getComputedStyle(this.container).position !== \"absolute\"\n ) {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n }\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this._scriptingManager = options.scriptingManager || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE;\n this.#annotationMode =\n options.annotationMode ?? AnnotationMode.ENABLE_FORMS;\n this.#annotationEditorMode =\n options.annotationEditorMode ?? AnnotationEditorType.DISABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n ) {\n this.renderer = options.renderer || RendererType.CANVAS;\n }\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || NullL10n;\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n if (\n this.pageColors &&\n !(\n CSS.supports(\"color\", this.pageColors.background) &&\n CSS.supports(\"color\", this.pageColors.foreground)\n )\n ) {\n if (this.pageColors.background || this.pageColors.foreground) {\n console.warn(\n \"BaseViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used.\"\n );\n }\n this.pageColors = null;\n }\n }\n\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n // Custom rendering queue is not specified, using default one\n this.renderingQueue = new PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n this.updateContainerHeightCss();\n }\n\n get pagesCount() {\n return this._pages.length;\n }\n\n getPageView(index) {\n return this._pages[index];\n }\n\n /**\n * @type {boolean} - True if all {PDFPageView} objects are initialized.\n */\n get pageViewsReady() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n // Prevent printing errors when 'disableAutoFetch' is set, by ensuring\n // that *all* pages have in fact been completely loaded.\n return this._pages.every(function (pageView) {\n return pageView?.pdfPage;\n });\n }\n\n /**\n * @type {boolean}\n */\n get renderForms() {\n return this.#annotationMode === AnnotationMode.ENABLE_FORMS;\n }\n\n /**\n * @type {boolean}\n */\n get enableScripting() {\n return !!this._scriptingManager;\n }\n\n /**\n * @type {number}\n */\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n\n /**\n * @param {number} val - The page number.\n */\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n // The intent can be to just reset a scroll position and/or scale.\n if (!this._setCurrentPageNumber(val, /* resetCurrentPageView = */ true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n\n /**\n * @returns {boolean} Whether the pageNumber is valid (within bounds).\n * @private\n */\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous,\n });\n\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n\n /**\n * @type {string|null} Returns the current page label, or `null` if no page\n * labels exist.\n */\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n\n /**\n * @param {string} val - The page label.\n */\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n let page = val | 0; // Fallback page number.\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n page = i + 1;\n }\n }\n // The intent can be to just reset a scroll position and/or scale.\n if (!this._setCurrentPageNumber(page, /* resetCurrentPageView = */ true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n\n /**\n * @type {number}\n */\n get currentScale() {\n return this._currentScale !== UNKNOWN_SCALE\n ? this._currentScale\n : DEFAULT_SCALE;\n }\n\n /**\n * @param {number} val - Scale of the pages in percents.\n */\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n this._setScale(val, false);\n }\n\n /**\n * @type {string}\n */\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n\n /**\n * @param val - The scale of the pages (in percent or predefined value).\n */\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n this._setScale(val, false);\n }\n\n /**\n * @type {number}\n */\n get pagesRotation() {\n return this._pagesRotation;\n }\n\n /**\n * @param {number} rotation - The rotation of the pages (0, 90, 180, 270).\n */\n set pagesRotation(rotation) {\n if (!isValidRotation(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n // Normalize the rotation, by clamping it to the [0, 360) range.\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n if (this._pagesRotation === rotation) {\n return; // The rotation didn't change.\n }\n this._pagesRotation = rotation;\n\n const pageNumber = this._currentPageNumber;\n\n const updateArgs = { rotation };\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n // Prevent errors in case the rotation changes *before* the scale has been\n // set to a non-default value.\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber,\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n\n /**\n * Currently only *some* permissions are supported.\n * @returns {Object}\n */\n #initializePermissions(permissions) {\n const params = {\n annotationEditorMode: this.#annotationEditorMode,\n annotationMode: this.#annotationMode,\n textLayerMode: this.textLayerMode,\n };\n if (!permissions) {\n return params;\n }\n\n if (!permissions.includes(PermissionFlag.COPY)) {\n this.viewer.classList.add(ENABLE_PERMISSIONS_CLASS);\n }\n\n if (!permissions.includes(PermissionFlag.MODIFY_CONTENTS)) {\n params.annotationEditorMode = AnnotationEditorType.DISABLE;\n }\n\n if (\n !permissions.includes(PermissionFlag.MODIFY_ANNOTATIONS) &&\n !permissions.includes(PermissionFlag.FILL_INTERACTIVE_FORMS) &&\n this.#annotationMode === AnnotationMode.ENABLE_FORMS\n ) {\n params.annotationMode = AnnotationMode.ENABLE;\n }\n\n return params;\n }\n\n #onePageRenderedOrForceFetch() {\n // Unless the viewer *and* its pages are visible, rendering won't start and\n // `this._onePageRenderedCapability` thus won't be resolved.\n // To ensure that automatic printing, on document load, still works even in\n // those cases we force-allow fetching of all pages when:\n // - The current window/tab is inactive, which will prevent rendering since\n // `requestAnimationFrame` is being used; fixes bug 1746213.\n // - The viewer is hidden in the DOM, e.g. in a `display: none`