{"version":3,"file":"2b7b2d2a-d478001b1dd41fc9c29d.js","mappings":"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","sources":["webpack://mi-frontend/./node_modules/pdfjs-dist/build/pdf.js"],"sourcesContent":["var _assertThisInitialized = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/assertThisInitialized\");\n\nvar _get = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/get\");\n\nvar _slicedToArray = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _regeneratorRuntime = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/regenerator\");\n\nvar _asyncToGenerator = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/asyncToGenerator\");\n\nvar _toConsumableArray = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nvar _createClass = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _classCallCheck = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _inherits = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nrequire(\"core-js/modules/esnext.global-this.js\");\n\nrequire(\"core-js/modules/es.promise.finally.js\");\n\nrequire(\"core-js/modules/esnext.promise.all-settled.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/build/pdf\", [], factory);else if (typeof exports === 'object') exports[\"pdfjs-dist/build/pdf\"] = factory();else root[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function () {\n return (\n /******/\n function (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __w_pdfjs_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __w_pdfjs_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __w_pdfjs_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/\n if (!__w_pdfjs_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n enumerable: true,\n get: getter\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // define __esModule on exports\n\n /******/\n\n\n __w_pdfjs_require__.r = function (exports) {\n /******/\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/\n Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n\n /******/\n // create a fake namespace object\n\n /******/\n // mode & 1: value is a module id, require it\n\n /******/\n // mode & 2: merge all properties of value into the ns\n\n /******/\n // mode & 4: return value when already ns object\n\n /******/\n // mode & 8|1: behave like require\n\n /******/\n\n\n __w_pdfjs_require__.t = function (value, mode) {\n /******/\n if (mode & 1) value = __w_pdfjs_require__(value);\n /******/\n\n if (mode & 8) return value;\n /******/\n\n if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value;\n /******/\n\n var ns = Object.create(null);\n /******/\n\n __w_pdfjs_require__.r(ns);\n /******/\n\n\n Object.defineProperty(ns, 'default', {\n enumerable: true,\n value: value\n });\n /******/\n\n if (mode & 2 && typeof value != 'string') for (var key in value) {\n __w_pdfjs_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n }\n /******/\n\n return ns;\n /******/\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __w_pdfjs_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __w_pdfjs_require__.p = \"\";\n /******/\n\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n /******/\n }([\n /* 0 */\n\n /***/\n\n /* 1 */\n\n /***/\n\n /* 2 */\n\n /***/\n\n /* 3 */\n\n /***/\n\n /* 4 */\n\n /***/\n\n /* 5 */\n\n /***/\n\n /* 6 */\n\n /***/\n\n /* 7 */\n\n /***/\n\n /* 8 */\n\n /***/\n\n /* 9 */\n\n /***/\n\n /* 10 */\n\n /***/\n\n /* 11 */\n\n /***/\n\n /* 12 */\n\n /***/\n\n /* 13 */\n\n /***/\n\n /* 14 */\n\n /***/\n\n /* 15 */\n\n /***/\n\n /* 16 */\n\n /***/\n\n /* 17 */\n\n /***/\n\n /* 18 */\n\n /***/\n\n /* 19 */\n\n /***/\n\n /* 20 */\n\n /***/\n\n /* 21 */\n\n /***/\n\n /* 22 */\n\n /***/\n\n /* 23 */\n\n /***/\n\n /******/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var pdfjsVersion = '2.4.456';\n var pdfjsBuild = '228a591c';\n\n var pdfjsSharedUtil = __w_pdfjs_require__(1);\n\n var pdfjsDisplayAPI = __w_pdfjs_require__(3);\n\n var pdfjsDisplayTextLayer = __w_pdfjs_require__(16);\n\n var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(17);\n\n var pdfjsDisplayDisplayUtils = __w_pdfjs_require__(4);\n\n var pdfjsDisplaySVG = __w_pdfjs_require__(18);\n\n var pdfjsDisplayWorkerOptions = __w_pdfjs_require__(10);\n\n var pdfjsDisplayAPICompatibility = __w_pdfjs_require__(6);\n\n {\n var _w_pdfjs_require__ = __w_pdfjs_require__(7),\n isNodeJS = _w_pdfjs_require__.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(19).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(22).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = __w_pdfjs_require__(23).PDFFetchStream;\n }\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n }\n exports.build = pdfjsDisplayAPI.build;\n exports.version = pdfjsDisplayAPI.version;\n exports.getDocument = pdfjsDisplayAPI.getDocument;\n exports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\n exports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\n exports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\n exports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\n exports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\n exports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\n exports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\n exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\n exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\n exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\n exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\n exports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\n exports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\n exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\n exports.OPS = pdfjsSharedUtil.OPS;\n exports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\n exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\n exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\n exports.createObjectURL = pdfjsSharedUtil.createObjectURL;\n exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\n exports.shadow = pdfjsSharedUtil.shadow;\n exports.Util = pdfjsSharedUtil.Util;\n exports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;\n exports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\n exports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\n exports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\n exports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\n exports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\n exports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\n exports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.arrayByteLength = arrayByteLength;\n exports.arraysToBytes = arraysToBytes;\n exports.assert = assert;\n exports.bytesToString = bytesToString;\n exports.createPromiseCapability = createPromiseCapability;\n exports.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isArrayEqual = isArrayEqual;\n exports.isBool = isBool;\n exports.isEmptyObj = isEmptyObj;\n exports.isNum = isNum;\n exports.isString = isString;\n exports.isSameOrigin = isSameOrigin;\n exports.createValidAbsoluteUrl = createValidAbsoluteUrl;\n exports.removeNullCharacters = removeNullCharacters;\n exports.setVerbosityLevel = setVerbosityLevel;\n exports.shadow = shadow;\n exports.string32 = string32;\n exports.stringToBytes = stringToBytes;\n exports.stringToPDFString = stringToPDFString;\n exports.stringToUTF8String = stringToUTF8String;\n exports.utf8StringToString = utf8StringToString;\n exports.warn = warn;\n exports.unreachable = unreachable;\n exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n __w_pdfjs_require__(2);\n\n var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n var NativeImageDecoding = {\n NONE: \"none\",\n DECODE: \"decode\",\n DISPLAY: \"display\"\n };\n exports.NativeImageDecoding = NativeImageDecoding;\n var PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n };\n exports.PermissionFlag = PermissionFlag;\n var TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n };\n exports.TextRenderingMode = TextRenderingMode;\n var ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n exports.ImageKind = ImageKind;\n var AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n };\n exports.AnnotationType = AnnotationType;\n var AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n };\n exports.AnnotationStateModelType = AnnotationStateModelType;\n var AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n };\n exports.AnnotationMarkedState = AnnotationMarkedState;\n var AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n };\n exports.AnnotationReviewState = AnnotationReviewState;\n var AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n };\n exports.AnnotationReplyType = AnnotationReplyType;\n var AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n };\n exports.AnnotationFlag = AnnotationFlag;\n var AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n };\n exports.AnnotationFieldFlag = AnnotationFieldFlag;\n var AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n var StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n };\n exports.StreamType = StreamType;\n var FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n };\n exports.FontType = FontType;\n var VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n };\n exports.VerbosityLevel = VerbosityLevel;\n var CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n exports.CMapCompressionType = CMapCompressionType;\n var OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n };\n exports.OPS = OPS;\n var UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\"\n };\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n var PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n exports.PasswordResponses = PasswordResponses;\n var verbosity = VerbosityLevel.WARNINGS;\n\n function setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n }\n\n function getVerbosityLevel() {\n return verbosity;\n }\n\n function info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n }\n\n function warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n }\n\n function unreachable(msg) {\n throw new Error(msg);\n }\n\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n\n function isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n }\n\n function _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n }\n\n function createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n }\n\n var BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n }();\n\n exports.BaseException = BaseException;\n\n var PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n }(BaseException);\n\n exports.PasswordException = PasswordException;\n\n var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n }(BaseException);\n\n exports.UnknownErrorException = UnknownErrorException;\n\n var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n }(BaseException);\n\n exports.InvalidPDFException = InvalidPDFException;\n\n var MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n }(BaseException);\n\n exports.MissingPDFException = MissingPDFException;\n\n var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n }(BaseException);\n\n exports.UnexpectedResponseException = UnexpectedResponseException;\n\n var FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n }(BaseException);\n\n exports.FormatError = FormatError;\n\n var AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.apply(this, arguments);\n }\n\n return AbortException;\n }(BaseException);\n\n exports.AbortException = AbortException;\n var NullCharactersRegExp = /\\x00/g;\n\n function removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n }\n\n function bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n }\n\n function stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n }\n\n function arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n }\n\n function arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n }\n\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n\n function isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n }\n\n var IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n };\n exports.IsLittleEndianCached = IsLittleEndianCached;\n\n function isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n }\n\n var IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n };\n exports.IsEvalSupportedCached = IsEvalSupportedCached;\n var rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\n var Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n }();\n\n exports.Util = Util;\n var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\n function stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n }\n\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n\n function isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n }\n\n function isBool(v) {\n return typeof v === \"boolean\";\n }\n\n function isNum(v) {\n return typeof v === \"number\";\n }\n\n function isString(v) {\n return typeof v === \"string\";\n }\n\n function isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n }\n\n function isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n }\n\n function createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n }\n\n var createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n }();\n\n exports.createObjectURL = createObjectURL;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n ;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getDocument = getDocument;\n exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\n exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _display_utils = __w_pdfjs_require__(4);\n\n var _font_loader = __w_pdfjs_require__(5);\n\n var _api_compatibility = __w_pdfjs_require__(6);\n\n var _canvas = __w_pdfjs_require__(8);\n\n var _worker_options = __w_pdfjs_require__(10);\n\n var _is_node = __w_pdfjs_require__(7);\n\n var _message_handler = __w_pdfjs_require__(11);\n\n var _metadata = __w_pdfjs_require__(12);\n\n var _transport_stream = __w_pdfjs_require__(14);\n\n var _webgl = __w_pdfjs_require__(15);\n\n var DEFAULT_RANGE_CHUNK_SIZE = 65536;\n var RENDERING_CANCELLED_TIMEOUT = 100;\n var createPDFNetworkStream;\n\n function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n }\n\n function getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (typeof pdfBytes === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n if (typeof params.disableCreateObjectURL !== \"boolean\") {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n }\n\n function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId: docId,\n apiVersion: '2.4.456',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n });\n }\n\n var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask = /*#__PURE__*/function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\" + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this4 = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this4._transport = null;\n\n if (_this4._worker) {\n _this4._worker.destroy();\n\n _this4._worker = null;\n }\n });\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n throw new Error(\"Removed API method: \" + \"PDFDocumentLoadingTask.then, use the `promise` getter instead.\");\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n }();\n\n var PDFDataRangeTransport = /*#__PURE__*/function () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iterator = _createForOfIteratorHelper(this._rangeListeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this5 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator2 = _createForOfIteratorHelper(_this5._progressListeners),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this6 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator3 = _createForOfIteratorHelper(_this6._progressiveReadListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this7 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this7._progressiveDoneListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n }();\n\n exports.PDFDataRangeTransport = PDFDataRangeTransport;\n\n var PDFDocumentProxy = /*#__PURE__*/function () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n }();\n\n exports.PDFDocumentProxy = PDFDocumentProxy;\n\n var PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"pageNumber\",\n get: function get() {\n return this._pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"getViewport\",\n value: function getViewport() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref.scale,\n _ref$rotation = _ref.rotation,\n rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,\n _ref$offsetX = _ref.offsetX,\n offsetX = _ref$offsetX === void 0 ? 0 : _ref$offsetX,\n _ref$offsetY = _ref.offsetY,\n offsetY = _ref$offsetY === void 0 ? 0 : _ref$offsetY,\n _ref$dontFlip = _ref.dontFlip,\n dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;\n\n if (arguments.length > 1 || typeof arguments[0] === \"number\") {\n throw new Error(\"PDFPageProxy.getViewport is called with obsolete arguments.\");\n }\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$intent = _ref2.intent,\n intent = _ref2$intent === void 0 ? null : _ref2$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref3) {\n var _this8 = this;\n\n var canvasContext = _ref3.canvasContext,\n viewport = _ref3.viewport,\n _ref3$intent = _ref3.intent,\n intent = _ref3$intent === void 0 ? \"display\" : _ref3$intent,\n _ref3$enableWebGL = _ref3.enableWebGL,\n enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,\n _ref3$renderInteracti = _ref3.renderInteractiveForms,\n renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,\n _ref3$transform = _ref3.transform,\n transform = _ref3$transform === void 0 ? null : _ref3$transform,\n _ref3$imageLayer = _ref3.imageLayer,\n imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,\n _ref3$canvasFactory = _ref3.canvasFactory,\n canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n var renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this8.cleanupAfterRender || renderingIntent === \"print\") {\n _this8.pendingCleanup = true;\n }\n\n _this8._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this8._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this8._stats) {\n _this8._stats.timeEnd(\"Rendering\");\n\n _this8._stats.timeEnd(\"Overall\");\n }\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this8.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this8._stats) {\n _this8._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = \"oplist\";\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$normalizeWhites = _ref4.normalizeWhitespace,\n normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,\n _ref4$disableCombineT = _ref4.disableCombineTextItems,\n disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref5) {\n var _textContent$items;\n\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n var _this9 = this;\n\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n var intentState = _this9.intentStates[intent];\n\n _this9._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var _this10 = this;\n\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = _this10.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete _this10.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i4 = 0; _i4 < intentState.renderTasks.length; _i4++) {\n intentState.renderTasks[_i4].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this11 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n var reader = readableStream.getReader();\n var intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref6) {\n var value = _ref6.value,\n done = _ref6.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this11._transport.destroyed) {\n return;\n }\n\n _this11._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this11._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n _this11._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref7) {\n var _this12 = this;\n\n var intentState = _ref7.intentState,\n reason = _ref7.reason,\n _ref7$force = _ref7.force,\n force = _ref7$force === void 0 ? false : _ref7$force;\n (0, _util.assert)(reason instanceof Error || typeof reason === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this12._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(function (intent) {\n if (_this12.intentStates[intent] === intentState) {\n delete _this12.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n }();\n\n exports.PDFPageProxy = PDFPageProxy;\n\n var LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this13 = this;\n\n function cloneValue(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this13, {\n data: obj\n });\n });\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this13._listeners.forEach(function (listener) {\n listener.call(_this13, e);\n });\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n }();\n\n exports.LoopbackPort = LoopbackPort;\n\n var PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var nextFakeWorkerId = 0;\n var fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var mainWorkerMessageHandler, worker;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function loader() {\n return _ref8.apply(this, arguments);\n };\n }();\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref9$name = _ref9.name,\n name = _ref9$name === void 0 ? null : _ref9$name,\n _ref9$port = _ref9.port,\n port = _ref9$port === void 0 ? null : _ref9$port,\n _ref9$verbosity = _ref9.verbosity,\n verbosity = _ref9$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref9$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }, {\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this14 = this;\n\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this14.destroyed) {\n _this14._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this14._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this14._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this14.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this14._messageHandler = messageHandler;\n _this14._port = worker;\n _this14._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this14.postMessageTransfers = false;\n }\n\n _this14._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this14.verbosity\n });\n } else {\n _this14._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this14.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this14._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this14.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this15 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this15.destroyed) {\n _this15._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this15._port = port;\n var id = \"fake\" + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n _this15._messageHandler = messageHandler;\n\n _this15._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this15.verbosity\n });\n }).catch(function (reason) {\n _this15._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n }();\n\n exports.PDFWorker = PDFWorker;\n\n var WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this16 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this16.fontLoader.clear();\n\n if (_this16._networkStream) {\n _this16._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this16.messageHandler) {\n _this16.messageHandler.destroy();\n\n _this16.messageHandler = null;\n }\n\n _this16.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this17 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this17._networkStream);\n _this17._fullReader = _this17._networkStream.getFullReader();\n\n _this17._fullReader.onProgress = function (evt) {\n _this17._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this17._fullReader.read().then(function (_ref10) {\n var value = _ref10.value,\n done = _ref10.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this17._fullReader.cancel(reason);\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this17._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this17._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this17._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", function (data, sink) {\n (0, _util.assert)(_this17._networkStream);\n\n var rangeReader = _this17._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref11) {\n var value = _ref11.value,\n done = _ref11.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref12) {\n var pdfInfo = _ref12.pdfInfo;\n _this17._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this17));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this17._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this17._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this17._passwordCapability.reject(ex);\n }\n } else {\n _this17._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this17._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this17.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this17.destroyed) {\n return;\n }\n\n var page = _this17.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n if (_this17.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (_this17.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this17._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this17.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _this17._onUnsupportedFeature.bind(_this17),\n fontRegistry: fontRegistry\n });\n\n _this17.fontLoader.bind(font).then(function () {\n _this17.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n }).finally(function () {\n _this17.commonObjs.resolve(id, font);\n });\n });\n\n break;\n\n case \"FontPath\":\n case \"FontType3Res\":\n _this17.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", function (data) {\n if (_this17.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = _this17.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"JpegStream\":\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject(new Error(\"Error during JPEG image loading\"));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_this17.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"JpegDecode\", function (data) {\n if (_this17.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (typeof document === \"undefined\") {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error(\"Only 3 components or 1 component can be returned\"));\n }\n\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n var width = img.width,\n height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(size * components);\n var tmpCanvas = document.createElement(\"canvas\");\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext(\"2d\");\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n\n if (components === 3) {\n for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (var _i5 = 0, _j = 0; _i5 < rgbaLength; _i5 += 4, _j++) {\n buf[_j] = data[_i5];\n }\n }\n\n resolve({\n data: buf,\n width: width,\n height: height\n });\n (0, _display_utils.releaseImageResources)(img);\n tmpCanvas.width = 0;\n tmpCanvas.height = 0;\n tmpCanvas = null;\n tmpCtx = null;\n };\n\n img.onerror = function () {\n reject(new Error(\"JpegDecode failed to load image\"));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageUrl;\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", function (data, sink) {\n if (_this17.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this17.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref13) {\n var featureId = _ref13.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this18 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this18.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this18, _this18._params.pdfBug);\n _this18.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this19 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this19._fullReader ? _this19._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this20 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this20.pageCache.length; i < ii; i++) {\n var page = _this20.pageCache[i];\n\n if (page) {\n var cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\n }\n }\n\n _this20.commonObjs.clear();\n\n _this20.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n }();\n\n var PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n for (var objId in this._objs) {\n var data = this._objs[objId].data;\n\n if (typeof Image !== \"undefined\" && data instanceof Image) {\n (0, _display_utils.releaseImageResources)(data);\n }\n }\n\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n }();\n\n var RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n throw new Error(\"Removed API method: \" + \"RenderTask.then, use the `promise` getter instead.\");\n }\n }]);\n\n return RenderTask;\n }();\n\n var InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref14) {\n var callback = _ref14.callback,\n params = _ref14.params,\n objs = _ref14.objs,\n commonObjs = _ref14.commonObjs,\n operatorList = _ref14.operatorList,\n pageIndex = _ref14.pageIndex,\n canvasFactory = _ref14.canvasFactory,\n webGLContext = _ref14.webGLContext,\n _ref14$useRequestAnim = _ref14.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref14$useRequestAnim === void 0 ? false : _ref14$useRequestAnim,\n _ref14$pdfBug = _ref14.pdfBug,\n pdfBug = _ref14$pdfBug === void 0 ? false : _ref14$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this21 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this21._nextBound().catch(_this21.cancel.bind(_this21));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this.cancelled) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n }();\n\n var version = '2.4.456';\n exports.version = version;\n var build = '228a591c';\n exports.build = build;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.addLinkAttributes = addLinkAttributes;\n exports.getFilenameFromUrl = getFilenameFromUrl;\n exports.isFetchSupported = isFetchSupported;\n exports.isValidFetchUrl = isValidFetchUrl;\n exports.loadScript = loadScript;\n exports.deprecated = deprecated;\n exports.releaseImageResources = releaseImageResources;\n exports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\n var SVG_NS = \"http://www.w3.org/2000/svg\";\n\n var DOMCanvasFactory = /*#__PURE__*/function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var canvas = document.createElement(\"canvas\");\n var context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n }();\n\n exports.DOMCanvasFactory = DOMCanvasFactory;\n\n var DOMCMapReaderFactory = /*#__PURE__*/function () {\n function DOMCMapReaderFactory(_ref15) {\n var _ref15$baseUrl = _ref15.baseUrl,\n baseUrl = _ref15$baseUrl === void 0 ? null : _ref15$baseUrl,\n _ref15$isCompressed = _ref15.isCompressed,\n isCompressed = _ref15$isCompressed === void 0 ? false : _ref15$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }( /*#__PURE__*/function () {\n var _ref17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref16) {\n var _this22 = this;\n\n var name, url, compressionType;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n name = _ref16.name;\n\n if (this.baseUrl) {\n _context4.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context4.next = 5;\n break;\n }\n\n throw new Error(\"CMap name must be specified.\");\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context4.next = 9;\n break;\n }\n\n return _context4.abrupt(\"return\", fetch(url).then( /*#__PURE__*/function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(response) {\n var cMapData;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (response.ok) {\n _context3.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this22.isCompressed) {\n _context3.next = 10;\n break;\n }\n\n _context3.t0 = Uint8Array;\n _context3.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context3.t1 = _context3.sent;\n cMapData = new _context3.t0(_context3.t1);\n _context3.next = 15;\n break;\n\n case 10:\n _context3.t2 = (0, _util.stringToBytes);\n _context3.next = 13;\n return response.text();\n\n case 13:\n _context3.t3 = _context3.sent;\n cMapData = (0, _context3.t2)(_context3.t3);\n\n case 15:\n return _context3.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function (_x3) {\n return _ref18.apply(this, arguments);\n };\n }()).catch(function (reason) {\n throw new Error(\"Unable to load \".concat(_this22.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context4.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this22.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this22.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this22.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n }).catch(function (reason) {\n throw new Error(\"Unable to load \".concat(_this22.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n return function (_x2) {\n return _ref17.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n }();\n\n exports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\n var DOMSVGFactory = /*#__PURE__*/function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n var svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n }();\n\n exports.DOMSVGFactory = DOMSVGFactory;\n\n var PageViewport = /*#__PURE__*/function () {\n function PageViewport(_ref19) {\n var viewBox = _ref19.viewBox,\n scale = _ref19.scale,\n rotation = _ref19.rotation,\n _ref19$offsetX = _ref19.offsetX,\n offsetX = _ref19$offsetX === void 0 ? 0 : _ref19$offsetX,\n _ref19$offsetY = _ref19.offsetY,\n offsetY = _ref19$offsetY === void 0 ? 0 : _ref19$offsetY,\n _ref19$dontFlip = _ref19.dontFlip,\n dontFlip = _ref19$dontFlip === void 0 ? false : _ref19$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref20$scale = _ref20.scale,\n scale = _ref20$scale === void 0 ? this.scale : _ref20$scale,\n _ref20$rotation = _ref20.rotation,\n rotation = _ref20$rotation === void 0 ? this.rotation : _ref20$rotation,\n _ref20$offsetX = _ref20.offsetX,\n offsetX = _ref20$offsetX === void 0 ? this.offsetX : _ref20$offsetX,\n _ref20$offsetY = _ref20.offsetY,\n offsetY = _ref20$offsetY === void 0 ? this.offsetY : _ref20$offsetY,\n _ref20$dontFlip = _ref20.dontFlip,\n dontFlip = _ref20$dontFlip === void 0 ? false : _ref20$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n }();\n\n exports.PageViewport = PageViewport;\n\n var RenderingCancelledException = /*#__PURE__*/function (_util$BaseException) {\n _inherits(RenderingCancelledException, _util$BaseException);\n\n var _super8 = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this23;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this23 = _super8.call(this, msg);\n _this23.type = type;\n return _this23;\n }\n\n return RenderingCancelledException;\n }(_util.BaseException);\n\n exports.RenderingCancelledException = RenderingCancelledException;\n var LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n };\n exports.LinkTarget = LinkTarget;\n\n function addLinkAttributes(link) {\n var _ref21 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref21.url,\n target = _ref21.target,\n rel = _ref21.rel,\n _ref21$enabled = _ref21.enabled,\n enabled = _ref21$enabled === void 0 ? true : _ref21$enabled;\n\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\n var targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n\n function getFilenameFromUrl(url) {\n var anchor = url.indexOf(\"#\");\n var query = url.indexOf(\"?\");\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n }\n\n var StatTimer = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(name));\n }\n\n this.times.push({\n name: name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var outBuf = [];\n var longest = 0;\n\n var _iterator5 = _createForOfIteratorHelper(this.times),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var time = _step5.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n var _iterator6 = _createForOfIteratorHelper(this.times),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _time = _step6.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n }();\n\n exports.StatTimer = StatTimer;\n\n function isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n }\n\n function isValidFetchUrl(url, baseUrl) {\n try {\n var _ref22 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref22.protocol;\n\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n }\n\n function loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n }\n\n function deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n }\n\n function releaseImageResources(img) {\n (0, _util.assert)(img instanceof Image, \"Invalid `img` parameter.\");\n var url = img.src;\n\n if (typeof url === \"string\" && url.startsWith(\"blob:\") && URL.revokeObjectURL) {\n URL.revokeObjectURL(url);\n }\n\n img.removeAttribute(\"src\");\n }\n\n var pdfDateStringRegex;\n\n var PDFDateString = /*#__PURE__*/function () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || \"Z\";\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n }();\n\n exports.PDFDateString = PDFDateString;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontLoader = exports.FontFaceObject = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref23) {\n var docId = _ref23.docId,\n onUnsupportedFeature = _ref23.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(font) {\n var _this24 = this;\n\n var nativeFontFace, rule;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context5.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context5.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context5.prev = 7;\n _context5.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context5.next = 18;\n break;\n\n case 12:\n _context5.prev = 12;\n _context5.t0 = _context5[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context5.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context5.t0;\n\n case 18:\n return _context5.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context5.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context5.next = 24;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 24:\n _context5.next = 26;\n return new Promise(function (resolve) {\n var request = _this24._queueLoadingCallback(resolve);\n\n _this24._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this, [[7, 12]]);\n }));\n\n function bind(_x4) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== \"undefined\" && !!document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }]);\n\n return BaseFontLoader;\n }();\n\n var FontLoader;\n exports.FontLoader = FontLoader;\n {\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super9 = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(docId) {\n var _this25;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this25 = _super9.call(this, docId);\n _this25.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this25.loadTestFontId = 0;\n return _this25;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n var canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext(\"2d\");\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n var div = document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n }\n\n var FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref24) {\n var _ref24$isEvalSupporte = _ref24.isEvalSupported,\n isEvalSupported = _ref24$isEvalSupporte === void 0 ? true : _ref24$isEvalSupporte,\n _ref24$disableFontFac = _ref24.disableFontFace,\n disableFontFace = _ref24$disableFontFac === void 0 ? false : _ref24$disableFontFac,\n _ref24$ignoreErrors = _ref24.ignoreErrors,\n ignoreErrors = _ref24$ignoreErrors === void 0 ? false : _ref24$ignoreErrors,\n _ref24$onUnsupportedF = _ref24.onUnsupportedFeature,\n onUnsupportedFeature = _ref24$onUnsupportedF === void 0 ? null : _ref24$onUnsupportedF,\n _ref24$fontRegistry = _ref24.fontRegistry,\n fontRegistry = _ref24$fontRegistry === void 0 ? null : _ref24$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n var args,\n js = \"\";\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i6 = 0, _ii = cmds.length; _i6 < _ii; _i6++) {\n current = cmds[_i6];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n }();\n\n exports.FontFaceObject = FontFaceObject;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var compatibilityParams = Object.create(null);\n {\n var _w_pdfjs_require__2 = __w_pdfjs_require__(7),\n isNodeJS = _w_pdfjs_require__2.isNodeJS;\n\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkFontFaceAndImage() {\n if (isNodeJS) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = \"none\";\n }\n })();\n }\n exports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isNodeJS = void 0;\n var isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions[\"nw\"] && !process.versions[\"electron\"];\n exports.isNodeJS = isNodeJS;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CanvasGraphics = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _pattern_helper = __w_pdfjs_require__(9);\n\n var MIN_FONT_SIZE = 16;\n var MAX_FONT_SIZE = 100;\n var MAX_GROUP_SIZE = 4096;\n var MIN_WIDTH_FACTOR = 0.65;\n var COMPILE_TYPE3_GLYPHS = true;\n var MAX_SIZE_TO_COMPILE = 1000;\n var FULL_CHUNK_HEIGHT = 16;\n\n function addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n }\n\n var CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n }();\n\n function compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n }\n\n var CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n }();\n\n var CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref25) {\n var transform = _ref25.transform,\n viewport = _ref25.viewport,\n _ref25$transparency = _ref25.transparency,\n transparency = _ref25$transparency === void 0 ? false : _ref25$transparency,\n _ref25$background = _ref25.background,\n background = _ref25$background === void 0 ? null : _ref25$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator7 = _createForOfIteratorHelper(argsArray[i]),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var depObjId = _step7.value;\n var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && font.data;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this26 = this;\n\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this26.commonObjs, _this26.objs, _this26.canvasFactory, _this26.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!domImage) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)(\"Unsupported 'paintXObject' command.\");\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n }();\n\n exports.CanvasGraphics = CanvasGraphics;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getShadingPatternFromIR = getShadingPatternFromIR;\n exports.TilingPattern = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var ShadingIRs = {};\n\n function applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n }\n\n ShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n };\n\n var createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else if (y1 === y2) {\n _k = 1;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * _k;\n car = c1r - (c1r - c2r) * _k;\n cag = c1g - (c1g - c2g) * _k;\n cab = c1b - (c1b - c2b) * _k;\n } else {\n var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n var _k3 = (xa - x) / (xa - xb);\n\n if (_k3 < 0) {\n _k3 = 0;\n } else if (_k3 > 1) {\n _k3 = 1;\n }\n\n bytes[j++] = car - (car - cbr) * _k3 | 0;\n bytes[j++] = cag - (cag - cbg) * _k3 | 0;\n bytes[j++] = cab - (cab - cbb) * _k3 | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n }();\n\n ShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n };\n ShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n };\n\n function getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n }\n\n var TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n }();\n\n exports.TilingPattern = TilingPattern;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.GlobalWorkerOptions = void 0;\n var GlobalWorkerOptions = Object.create(null);\n exports.GlobalWorkerOptions = GlobalWorkerOptions;\n GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\n GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MessageHandler = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n };\n var StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n };\n\n function wrapReason(reason) {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n }\n\n var MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this27 = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this27.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this27._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this27.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this27.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this27.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var _sourceName = _this27.sourceName;\n var _targetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this27._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this28 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this28._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId].cancelCall = cancelCapability;\n _this28.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(streamId) {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _deleteStreamController(_x5) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n }();\n\n exports.MessageHandler = MessageHandler;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Metadata = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _xml_parser = __w_pdfjs_require__(13);\n\n var Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = \"\";\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n var obj = Object.create(null);\n\n var _iterator8 = _createForOfIteratorHelper(this._metadataMap),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _slicedToArray(_step8.value, 2),\n key = _step8$value[0],\n value = _step8$value[1];\n\n obj[key] = value;\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return obj;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n }();\n\n exports.Metadata = Metadata;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SimpleXMLParser = void 0;\n var XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n };\n\n function isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n }\n\n function isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n }\n\n var XMLParserBase = /*#__PURE__*/function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this29 = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return _this29.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var attributes = [];\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n var attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n var value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === \"<\") {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n var q2 = s.indexOf(\"[\", j + 8);\n var complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n }();\n\n var SimpleDOMNode = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n }, {\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }]);\n\n return SimpleDOMNode;\n }();\n\n var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super10 = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this30;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this30 = _super10.call(this);\n _this30._currentFragment = null;\n _this30._stack = null;\n _this30._errorCode = XMLParserErrorCode.NoError;\n return _this30;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n }(XMLParserBase);\n\n exports.SimpleXMLParser = SimpleXMLParser;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFDataTransportStream = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this31 = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this31._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this31._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this31._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this31._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found);\n }\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }]);\n\n return PDFDataTransportStream;\n }();\n\n exports.PDFDataTransportStream = PDFDataTransportStream;\n\n var PDFDataTransportStreamReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n var _iterator9 = _createForOfIteratorHelper(this._queuedChunks),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var chunk = _step9.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context7.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context7.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context7.next = 5;\n break;\n }\n\n return _context7.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context7.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n }();\n\n var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (!this._queuedChunk) {\n _context8.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context8.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context8.next = 6;\n break;\n }\n\n return _context8.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context8.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n }();\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.WebGLContext = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref26) {\n var _ref26$enable = _ref26.enable,\n enable = _ref26$enable === void 0 ? false : _ref26$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n }, {\n key: \"composeSMask\",\n value: function composeSMask(_ref27) {\n var layer = _ref27.layer,\n mask = _ref27.mask,\n properties = _ref27.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref28) {\n var width = _ref28.width,\n height = _ref28.height,\n backgroundColor = _ref28.backgroundColor,\n figures = _ref28.figures,\n context = _ref28.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }]);\n\n return WebGLContext;\n }();\n\n exports.WebGLContext = WebGLContext;\n\n var WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n }();\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.renderTextLayer = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n };\n\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref29) {\n var _this32 = this;\n\n var textContent = _ref29.textContent,\n textContentStream = _ref29.textContentStream,\n container = _ref29.container,\n viewport = _ref29.viewport,\n textDivs = _ref29.textDivs,\n textContentItemsStr = _ref29.textContentItemsStr,\n enhanceTextSelection = _ref29.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise.finally(function () {\n if (_this32._layoutTextCtx) {\n _this32._layoutTextCtx.canvas.width = 0;\n _this32._layoutTextCtx.canvas.height = 0;\n _this32._layoutTextCtx = null;\n }\n }).catch(function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this33 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement(\"canvas\");\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this33._reader.read().then(function (_ref30) {\n var value = _ref30.value,\n done = _ref30.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this33._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this33);\n } else {\n _this33._renderTimer = setTimeout(function () {\n render(_this33);\n _this33._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n }();\n\n exports.renderTextLayer = renderTextLayer;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AnnotationLayer = void 0;\n\n var _display_utils = __w_pdfjs_require__(4);\n\n var _util = __w_pdfjs_require__(1);\n\n var AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n }();\n\n var AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }]);\n\n return AnnotationElement;\n }();\n\n var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super11 = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super11.call(this, parameters, isRenderable);\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"linkAnnotation\";\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this34 = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this34.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this35 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this35.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n }(AnnotationElement);\n\n var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super12 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.call(this, parameters, isRenderable);\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n }(AnnotationElement);\n\n var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super13 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super13.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n }(AnnotationElement);\n\n var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super14 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super14.call(this, parameters, isRenderable);\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n var fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super15 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super15.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"checkbox\";\n\n if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super16 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super16.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"radio\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super17 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super17.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n }(LinkAnnotationElement);\n\n var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super18 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super18.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"choiceWidgetAnnotation\";\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iterator10 = _createForOfIteratorHelper(this.data.options),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var option = _step10.value;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super19 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super19.call(this, parameters, isRenderable);\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n }(AnnotationElement);\n\n var PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement(\"p\");\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n }();\n\n var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super20 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.call(this, parameters, isRenderable, true);\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n }(AnnotationElement);\n\n var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super21 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.call(this, parameters, isRenderable, true);\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n }(AnnotationElement);\n\n var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super22 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n }(AnnotationElement);\n\n var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super23 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super23.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n }(AnnotationElement);\n\n var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super24 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this36;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this36 = _super24.call(this, parameters, isRenderable, true);\n _this36.containerClassName = \"polylineAnnotation\";\n _this36.svgElementName = \"svg:polyline\";\n return _this36;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n\n var _iterator11 = _createForOfIteratorHelper(data.vertices),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var coordinate = _step11.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n }(AnnotationElement);\n\n var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super25 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this37;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this37 = _super25.call(this, parameters);\n _this37.containerClassName = \"polygonAnnotation\";\n _this37.svgElementName = \"svg:polygon\";\n return _this37;\n }\n\n return PolygonAnnotationElement;\n }(PolylineAnnotationElement);\n\n var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super26 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super26.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n }(AnnotationElement);\n\n var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super27 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this38;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this38 = _super27.call(this, parameters, isRenderable, true);\n _this38.containerClassName = \"inkAnnotation\";\n _this38.svgElementName = \"svg:polyline\";\n return _this38;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n\n var _iterator12 = _createForOfIteratorHelper(data.inkLists),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var inkList = _step12.value;\n var points = [];\n\n var _iterator13 = _createForOfIteratorHelper(inkList),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var coordinate = _step13.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n }(AnnotationElement);\n\n var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super28 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super28.call(this, parameters, isRenderable, true);\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n }(AnnotationElement);\n\n var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super29 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super29.call(this, parameters, isRenderable, true);\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n }(AnnotationElement);\n\n var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super30 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super30.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n }(AnnotationElement);\n\n var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super31 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super31.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n }(AnnotationElement);\n\n var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super32 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super32.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n }(AnnotationElement);\n\n var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super33 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this39;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this39 = _super33.call(this, parameters, true);\n var _this39$data$file = _this39.data.file,\n filename = _this39$data$file.filename,\n content = _this39$data$file.content;\n _this39.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this39.content = content;\n\n if (_this39.linkService.eventBus) {\n _this39.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this39),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this39;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"fileAttachmentAnnotation\";\n var trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n }(AnnotationElement);\n\n var AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator14 = _createForOfIteratorHelper(parameters.annotations),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var _data4 = _step14.value;\n\n if (!_data4) {\n continue;\n }\n\n if (_data4.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data4);\n continue;\n }\n\n sortedAnnotations.push(_data4);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i7 = 0, _sortedAnnotations = sortedAnnotations; _i7 < _sortedAnnotations.length; _i7++) {\n var data = _sortedAnnotations[_i7];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator15 = _createForOfIteratorHelper(parameters.annotations),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var data = _step15.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n }();\n\n exports.AnnotationLayer = AnnotationLayer;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SVGGraphics = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _display_utils = __w_pdfjs_require__(4);\n\n var _is_node = __w_pdfjs_require__(7);\n\n var SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n };\n\n exports.SVGGraphics = SVGGraphics;\n {\n var SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i8 = start; _i8 < end; _i8++) {\n var a = (crc ^ data[_i8]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i9 = start; _i9 < end; ++_i9) {\n a = (a + (data[_i9] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n var output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xffff;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i10 = 0; _i10 < lineSize; _i10++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = /*#__PURE__*/function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator16 = _createForOfIteratorHelper(opList),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var opListElement = _step16.value;\n\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n\n return opTree;\n }\n\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n }\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this40 = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iterator17 = _createForOfIteratorHelper(argsArray[i]),\n _step17;\n\n try {\n var _loop = function _loop() {\n var obj = _step17.value;\n var objsPool = obj.startsWith(\"g_\") ? _this40.commonObjs : _this40.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this40.current.dependencies.push(promise);\n };\n\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this41 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this41.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this41.executeOpTree(_this41.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n fnId: fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iterator18 = _createForOfIteratorHelper(opTree),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var opTreeElement = _step18.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator19 = _createForOfIteratorHelper(glyphs),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var glyph = _step19.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n\n current.xcoords.push(current.x + x);\n current.tspan.textContent += character;\n x += charWidth;\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _util$Util$applyTrans = _util.Util.applyTransform([x0, y0], matrix),\n _util$Util$applyTrans2 = _slicedToArray(_util$Util$applyTrans, 2),\n tx0 = _util$Util$applyTrans2[0],\n ty0 = _util$Util$applyTrans2[1];\n\n var _util$Util$applyTrans3 = _util.Util.applyTransform([x1, y1], matrix),\n _util$Util$applyTrans4 = _slicedToArray(_util$Util$applyTrans3, 2),\n tx1 = _util$Util$applyTrans4[0],\n ty1 = _util$Util$applyTrans4[1];\n\n var _util$Util$singularVa = _util.Util.singularValueDecompose2dScale(matrix),\n _util$Util$singularVa2 = _slicedToArray(_util$Util$singularVa, 2),\n xscale = _util$Util$singularVa2[0],\n yscale = _util$Util$singularVa2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var _util$Util;\n\n var cssColor = (_util$Util = _util.Util).makeCssRgb.apply(_util$Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator20 = _createForOfIteratorHelper(colorStops),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var colorStop = _step20.value;\n var stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n\n var _iterator21 = _createForOfIteratorHelper(ops),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var op = _step21.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iterator22 = _createForOfIteratorHelper(states),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var _step22$value = _slicedToArray(_step22.value, 2),\n key = _step22$value[0],\n value = _step22$value[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintJpegXObject\",\n value: function paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgObj.src);\n imgEl.setAttributeNS(null, \"width\", pf(w));\n imgEl.setAttributeNS(null, \"height\", pf(h));\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-h));\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / w), \" \").concat(pf(-1 / h), \")\"));\n\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n var imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n }\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNodeStream = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n var fs = require(\"fs\");\n\n var http = require(\"http\");\n\n var https = require(\"https\");\n\n var url = require(\"url\");\n\n var fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\n function parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n }\n\n var PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n }();\n\n exports.PDFNodeStream = PDFNodeStream;\n\n var BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {\n var chunk, buffer;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context9.next = 4;\n break;\n }\n\n return _context9.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context9.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context9.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context9.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context9.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function read() {\n return _read3.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this42 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this42._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this42._done = true;\n\n _this42._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this42._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseFullReader;\n }();\n\n var BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {\n var chunk, buffer;\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context10.next = 4;\n break;\n }\n\n return _context10.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context10.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context10.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context10.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context10.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function read() {\n return _read4.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this43 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this43._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this43._done = true;\n\n _this43._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this43._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseRangeReader;\n }();\n\n function createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: \"GET\",\n headers: headers\n };\n }\n\n var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super34 = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this44;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this44 = _super34.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this44._url, \"\\\".\"));\n _this44._storedError = error;\n\n _this44._headersCapability.reject(error);\n\n return;\n }\n\n _this44._headersCapability.resolve();\n\n _this44._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this44._readableStream.headers[name.toLowerCase()];\n };\n\n var _ref31 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this44._rangeChunkSize,\n disableRange: _this44._disableRange\n }),\n allowRangeRequests = _ref31.allowRangeRequests,\n suggestedLength = _ref31.suggestedLength;\n\n _this44._isRangeSupported = allowRangeRequests;\n _this44._contentLength = suggestedLength || _this44._contentLength;\n _this44._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this44._request = null;\n\n if (_this44._url.protocol === \"http:\") {\n _this44._request = http.request(createRequestOptions(_this44._url, stream.httpHeaders), handleResponse);\n } else {\n _this44._request = https.request(createRequestOptions(_this44._url, stream.httpHeaders), handleResponse);\n }\n\n _this44._request.on(\"error\", function (reason) {\n _this44._storedError = reason;\n\n _this44._headersCapability.reject(reason);\n });\n\n _this44._request.end();\n\n return _this44;\n }\n\n return PDFNodeStreamFullReader;\n }(BaseFullReader);\n\n var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super35 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this45;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this45 = _super35.call(this, stream);\n _this45._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n _this45._httpHeaders[property] = value;\n }\n\n _this45._httpHeaders[\"Range\"] = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this45._url, \"\\\".\"));\n _this45._storedError = error;\n return;\n }\n\n _this45._setReadableStream(response);\n };\n\n _this45._request = null;\n\n if (_this45._url.protocol === \"http:\") {\n _this45._request = http.request(createRequestOptions(_this45._url, _this45._httpHeaders), handleResponse);\n } else {\n _this45._request = https.request(createRequestOptions(_this45._url, _this45._httpHeaders), handleResponse);\n }\n\n _this45._request.on(\"error\", function (reason) {\n _this45._storedError = reason;\n });\n\n _this45._request.end();\n\n return _this45;\n }\n\n return PDFNodeStreamRangeReader;\n }(BaseRangeReader);\n\n var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super36 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this46;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this46 = _super36.call(this, stream);\n var path = decodeURIComponent(_this46._url.path);\n\n if (fileUriRegex.test(_this46._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this46._storedError = error;\n\n _this46._headersCapability.reject(error);\n\n return;\n }\n\n _this46._contentLength = stat.size;\n\n _this46._setReadableStream(fs.createReadStream(path));\n\n _this46._headersCapability.resolve();\n });\n return _this46;\n }\n\n return PDFNodeStreamFsFullReader;\n }(BaseFullReader);\n\n var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super37 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this47;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this47 = _super37.call(this, stream);\n var path = decodeURIComponent(_this47._url.path);\n\n if (fileUriRegex.test(_this47._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this47._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this47;\n }\n\n return PDFNodeStreamFsRangeReader;\n }(BaseRangeReader);\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.createResponseStatusError = createResponseStatusError;\n exports.extractFilenameFromHeader = extractFilenameFromHeader;\n exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\n exports.validateResponseStatus = validateResponseStatus;\n\n var _util = __w_pdfjs_require__(1);\n\n var _content_disposition = __w_pdfjs_require__(21);\n\n function validateRangeRequestCapabilities(_ref32) {\n var getResponseHeader = _ref32.getResponseHeader,\n isHttp = _ref32.isHttp,\n rangeChunkSize = _ref32.rangeChunkSize,\n disableRange = _ref32.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n }\n\n function extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n }\n\n function createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n }\n\n function validateResponseStatus(status) {\n return status === 200 || status === 206;\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\n function getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDisposition) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDisposition)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var _n = 0; _n < matches.length; ++_n) {\n if (!(_n in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNetworkStream = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n ;\n var OK_RESPONSE = 200;\n var PARTIAL_CONTENT_RESPONSE = 206;\n\n function getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n }\n\n var NetworkManager = /*#__PURE__*/function () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n }();\n\n var PDFNetworkStream = /*#__PURE__*/function () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n }();\n\n exports.PDFNetworkStream = PDFNetworkStream;\n\n var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _ref33 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _ref33.allowRangeRequests,\n suggestedLength = _ref33.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (!this._storedError) {\n _context11.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context11.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context11.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context11.next = 7;\n break;\n }\n\n return _context11.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context11.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function read() {\n return _read5.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n }();\n\n var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context12.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context12.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context12.next = 6;\n break;\n }\n\n return _context12.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context12.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function read() {\n return _read6.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n }();\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFFetchStream = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n function createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n }\n\n function createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n }\n\n var PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFFetchStream;\n }();\n\n exports.PDFFetchStream = PDFFetchStream;\n\n var PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this48 = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this48._reader = response.body.getReader();\n\n _this48._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _ref34 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this48._stream.isHttp,\n rangeChunkSize: _this48._rangeChunkSize,\n disableRange: _this48._disableRange\n }),\n allowRangeRequests = _ref34.allowRangeRequests,\n suggestedLength = _ref34.suggestedLength;\n\n _this48._isRangeSupported = allowRangeRequests;\n _this48._contentLength = suggestedLength || _this48._contentLength;\n _this48._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this48._isStreamingSupported && _this48._isRangeSupported) {\n _this48.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n _context13.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context13.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context13.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context13.next = 9;\n break;\n }\n\n return _context13.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context13.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function read() {\n return _read7.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }]);\n\n return PDFFetchStreamReader;\n }();\n\n var PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this49 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this49._readCapability.resolve();\n\n _this49._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _context14.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context14.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r2 = _context14.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context14.next = 9;\n break;\n }\n\n return _context14.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context14.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function read() {\n return _read8.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n }();\n /***/\n\n }])\n );\n});"],"names":["_assertThisInitialized","_get","_slicedToArray","_regeneratorRuntime","_asyncToGenerator","_toConsumableArray","_createClass","_classCallCheck","_inherits","_possibleConstructorReturn","_getPrototypeOf","factory","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","this","Reflect","construct","arguments","apply","sham","Proxy","Boolean","valueOf","modules","installedModules","__w_pdfjs_require__","moduleId","exports","module","l","m","c","d","getter","defineProperty","enumerable","get","r","toStringTag","t","mode","__esModule","ns","create","key","bind","object","property","hasOwnProperty","p","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","build","version","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","createPromiseCapability","PasswordResponses","InvalidPDFException","MissingPDFException","SVGGraphics","NativeImageDecoding","CMapCompressionType","PermissionFlag","UnexpectedResponseException","OPS","VerbosityLevel","UNSUPPORTED_FEATURES","createValidAbsoluteUrl","createObjectURL","removeNullCharacters","shadow","Util","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","PDFDateString","GlobalWorkerOptions","apiCompatibilityParams","arrayByteLength","arraysToBytes","Uint8Array","resultLength","pos","data","_i","item","stringToBytes","itemLength","byteLength","set","assert","bytesToString","bytes","undefined","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","Math","min","chunk","subarray","push","join","capability","isSettled","promise","Promise","resolve","reject","reason","getVerbosityLevel","verbosity","info","msg","INFOS","console","log","concat","isArrayBuffer","v","isArrayEqual","arr1","every","element","index","isBool","isEmptyObj","obj","isNum","isString","isSameOrigin","baseUrl","otherUrl","base","URL","origin","other","absoluteUrl","protocol","_isValidProtocol","ex","str","warn","replace","NullCharactersRegExp","setVerbosityLevel","level","Number","isInteger","string32","stringToPDFString","charCodeAt","_i2","_i3","code","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","NONE","DECODE","DISPLAY","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","Error","cond","prop","configurable","writable","message","_BaseException","_super","_this","_BaseException2","_super2","details","_this2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","status","_this3","_BaseException6","_super6","_BaseException7","_super7","buffer8","Uint32Array","buffer","Function","isEvalSupported","rgbBuf","g","b","m1","m2","p1","applyTransform","p2","p3","p4","max","transpose","a","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","digits","contentType","forceDataSchema","blob","Blob","type","ii","b1","b2","b3","d1","d2","d3","d4","PDFPageProxy","PDFDocumentProxy","_util","_display_utils","_font_loader","_api_compatibility","_canvas","_worker_options","_is_node","_message_handler","_metadata","_transport_stream","_webgl","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","pdfNetworkStreamFactory","src","source","task","PDFDocumentLoadingTask","range","rangeTransport","worker","window","pdfBytes","isNaN","location","href","rangeChunkSize","CMapReaderFactory","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","values","nativeImageDecoderSupport","includes","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","port","workerPort","fromPort","_worker","docId","then","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","send","catch","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","_this4","destroy","onFulfilled","onRejected","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","listener","begin","_step","_iterator","loaded","total","_this5","_step2","_iterator2","_this6","_step3","_iterator3","_this7","_step4","_iterator4","end","pdfInfo","_pdfInfo","numPages","fingerprint","pageNumber","getPage","ref","getPageIndex","getDestinations","id","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","deprecated","openAction","dest","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_stats","StatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","rotate","userUnit","view","_ref","scale","_ref$rotation","rotation","_ref$offsetX","offsetX","_ref$offsetY","offsetY","_ref$dontFlip","dontFlip","PageViewport","viewBox","_ref2","_ref2$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_ref3","_this8","canvasContext","viewport","_ref3$intent","_ref3$enableWebGL","enableWebGL","_ref3$renderInteracti","renderInteractiveForms","_ref3$transform","_ref3$imageLayer","imageLayer","_ref3$canvasFactory","canvasFactory","_ref3$background","background","time","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","DOMCanvasFactory","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","complete","error","renderTasks","indexOf","internalRenderTask","splice","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListTask","opListReadCapability","_ref4","_ref4$normalizeWhites","normalizeWhitespace","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","highWaterMark","size","textContent","items","readableStream","streamTextContent","reader","getReader","styles","pump","read","_ref5","_textContent$items","assign","_this9","pageCache","waitOn","keys","forEach","force","renderCompleted","cancel","clear","all","resetStats","_this10","some","operatorListChunk","_i4","args","_this11","streamReader","_ref6","_renderPageChunk","_ref7","_this12","_ref7$force","setTimeout","cleanup","defer","_listeners","_defer","_deferred","transfers","_this13","cloned","WeakMap","cloneValue","has","byteOffset","desc","getOwnPropertyDescriptor","getPrototypeOf","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","document","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","globalThis","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref8","mark","_callee","wrap","_callee$","_context","prev","abrupt","eval","stop","createCDNWrapper","wrapper","_ref9","_ref9$name","_ref9$port","_ref9$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this14","Worker","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","addEventListener","supportTransfers","sendTest","testObj","_this15","workerHandler","setup","delete","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this16","page","_destroy","terminated","cancelAllRequests","_this17","sink","getFullReader","evt","onPull","_ref10","close","enqueue","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref11","_ref12","_numPages","exception","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","finally","_data2","imageData","pageProxy","img","Image","onload","onerror","releaseImageResources","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","createElement","tmpCtx","getContext","drawImage","getImageData","j","_i5","_j","fetched","fetch","builtInCMap","cMapData","_ref13","featureId","_this18","_this19","results","metadata","Metadata","contentDispositionFilename","filename","_this20","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","WeakSet","_ref14","_ref14$useRequestAnim","_ref14$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","canvas","_next2","add","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this21","requestAnimationFrame","_callee2","_context2","executeOperatorList","link","_ref21","target","rel","_ref21$enabled","urlNullRemoved","title","onclick","targetStr","SELF","BLANK","PARENT","TOP","DEFAULT_LINK_REL","anchor","query","substring","lastIndexOf","script","head","documentElement","appendChild","startsWith","revokeObjectURL","removeAttribute","DOMSVGFactory","SVG_NS","context","canvasAndContext","_ref15","_ref15$baseUrl","_ref15$isCompressed","_fetch","_x","_ref17","_callee4","_ref16","compressionType","_this22","_context4","baseURI","_ref18","_callee3","response","_context3","ok","statusText","t0","arrayBuffer","t1","sent","t2","text","t3","_x3","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","responseText","_x2","svg","createElementNS","setAttribute","_ref19","_ref19$offsetX","_ref19$offsetY","_ref19$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","_ref20","_ref20$scale","_ref20$rotation","_ref20$offsetX","_ref20$offsetY","_ref20$dontFlip","x","y","topLeft","bottomRight","applyInverseTransform","_util$BaseException","_super8","_this23","pdfDateStringRegex","started","times","Date","now","start","_step5","outBuf","longest","_iterator5","_step6","_iterator6","_time","duration","padEnd","Response","ReadableStream","input","RegExp","matches","exec","year","parseInt","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","BaseFontLoader","_ref23","nativeFontFaces","styleElement","_bind","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","remove","_callee5","_this24","_context5","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_x4","supported","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","_super9","_this25","loadingContext","requests","nextRequestId","loadTestFontId","navigator","userAgent","otherRequest","shift","atob","int32","offset","spliceString","insert","ctx","called","_loadTestFont","XXXX_VALUE","checksum","btoa","names","loadedName","div","style","visibility","position","top","left","span","fontFamily","body","isFontReady","fillText","removeChild","translatedData","_ref24","_ref24$isEvalSupporte","_ref24$disableFontFac","_ref24$ignoreErrors","_ref24$onUnsupportedF","_ref24$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_i6","_ii","compatibilityParams","isIE","isIOSChrome","freeze","process","versions","_pattern_helper","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","pop","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","reset","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","imgData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","kind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","k","kEnd","kEndUnrolled","mask","srcByte","putBinaryImageMask","elem","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","layerCtx","maskCtx","scaleX","scaleY","backdrop","isEnabled","composed","layer","subtype","composeFn","hasBackdrop","chunkSize","ceil","row","chunkHeight","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref25","_ref25$transparency","_ref25$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","steps","breakIt","_step7","_iterator7","depObjId","objsPool","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","state","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","singularValueDecompose2dScale","getPattern","needRestore","paths","pendingTextPaths","beginPath","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","characterScaleX","isInFont","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","_this26","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","floor","imageSmoothingEnabled","mozImageSmoothingEnabled","w","h","domImage","getCanvasPosition","appendImage","isPatternFill","compiled","j0","width1","points","POINT_TYPES","lineSize","data0","count","sum","Int32Array","outlines","pp","coords","p0","jj","compileType3Glyph","maskCanvas","positions","images","image","map","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","entry","tag","inverse","raw","shadingIR","ShadingIRs","fromIR","applyBoundingBox","Path2D","region","RadialAxial","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","_k","_k2","x1_","x2_","_k3","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","StreamKind","wrapReason","sourceName","targetName","comObj","_this27","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","event","stream","_processStreamMessage","action","_sourceName","_targetName","postMessage","_createStreamSink","_deleteStreamController2","actionName","handler","ah","_postMessage","queueingStrategy","_this28","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","self","streamSink","isCancelled","lastDesiredSize","sinkCapability","ready","success","_deleteStreamController","_callee6","_context6","allSettled","_x5","_xml_parser","_repair","xmlDocument","SimpleXMLParser","parseFromString","_metadataMap","Map","_parse","codes","chars","rdf","nodeName","toLowerCase","firstChild","nextSibling","hasChildNodes","children","childNodes","trim","_step8","_iterator8","_step8$value","XMLParserErrorCode","isWhitespace","ch","XMLParserBase","_this29","entity","onResolveEntity","attributes","skipWs","attrValue","attrName","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","parentNode","child","_XMLParserBase","_super10","_this30","_currentFragment","_stack","_errorCode","parseXml","isWhitespaceString","node","lastElement","_this31","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","found","_begin","_loaded","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","abort","_stream","_done","_filename","_step9","_iterator9","_requests","_headersReady","_read","_callee7","requestCapability","_context7","_end","_queuedChunk","_read2","_removeRangeReader","_callee8","_context8","_ref26","_ref26$enable","_enabled","WebGLUtils","tryInitGL","_ref27","_ref28","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskCache","figuresCache","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","initSmaskGL","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","flush","deleteTexture","deleteBuffer","scaleLocation","offsetLocation","colorLocation","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","NonWhitespaceRegexp","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","dataset","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","render","_canceled","textDivs","textDivsLength","_renderingDone","expand","expanded","boxes","box","x1New","x2New","expandBoundsLTR","expandBounds","divProperties","ts","Float64Array","findPositiveMin","boxScale","horizon","Infinity","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","_ref29","_this32","textContentStream","container","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","_textDiv$style","_render","timeout","_this33","mozOpaque","textItems","textStyles","_ref30","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","renderParameters","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popup","PopupElement","modificationDate","contents","hideWrapper","_AnnotationElement","_super11","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","_this34","getDestinationHash","navigateTo","_this35","getAnchorUrl","executeNamedAction","_AnnotationElement2","_super12","hasPopup","alt","l10nId","l10nArgs","JSON","stringify","_createPopup","_AnnotationElement3","_super13","_WidgetAnnotationElem","_super14","hasAppearance","fieldValue","multiLine","disabled","readOnly","maxLen","maxLength","comb","combWidth","classList","letterSpacing","verticalAlign","display","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_super15","_WidgetAnnotationElem3","_super16","fieldName","buttonValue","_LinkAnnotationElemen","_super17","_WidgetAnnotationElem4","_super18","selectElement","combo","options","multiSelect","multiple","_step10","_iterator10","option","optionElement","displayValue","exportValue","_AnnotationElement4","_super19","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","split","line","createTextNode","pin","hasAttribute","zIndex","unpin","_AnnotationElement5","_super20","_AnnotationElement6","_super21","lineCoordinates","append","_AnnotationElement7","_super22","square","_AnnotationElement8","_super23","circle","_AnnotationElement9","_super24","_this36","containerClassName","svgElementName","_step11","_iterator11","vertices","coordinate","polyline","_PolylineAnnotationEl","_super25","_this37","_AnnotationElement10","_super26","_AnnotationElement11","_super27","_this38","_step12","_iterator12","inkLists","_step13","inkList","_iterator13","_AnnotationElement12","_super28","_AnnotationElement13","_super29","_AnnotationElement14","_super30","_AnnotationElement15","_super31","_AnnotationElement16","_super32","_AnnotationElement17","_super33","_this39","_this39$data$file","file","eventBus","dispatch","_download","downloadData","_step14","sortedAnnotations","popupAnnotations","_iterator14","annotations","_data4","_i7","_sortedAnnotations","_step15","_iterator15","SVG_DEFAULTS","XLINK_NS","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","_i8","crc32","deflateSyncUncompressed","literals","maxBlockLength","deflateBlocks","idat","adler","_i9","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","_i10","ihdr","Buffer","output","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","_step16","opTree","_iterator16","opListElement","fn","pf","toFixed","pm","acos","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_this40","_step17","_iterator17","_loop","_this41","svgElement","loadDependencies","convertOpList","operatorIdMapping","_step18","_iterator18","opTreeElement","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","_step19","_iterator19","charWidth","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_util$Util$applyTrans","_util$Util$applyTrans2","tx0","ty0","_util$Util$applyTrans3","_util$Util$applyTrans4","tx1","ty1","_util$Util$singularVa","_util$Util$singularVa2","txstep","tystep","tiling","_util$Util","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","_step20","_iterator20","colorStop","_step21","_iterator21","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_step22","_iterator22","_step22$value","setStrokeAlpha","setFillAlpha","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","sourceUrl","parsedUrl","parse","host","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_storedError","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_read3","_callee9","_context9","_error","_this42","BaseRangeReader","_read4","_callee10","_context10","_this43","createRequestOptions","headers","auth","hostname","method","_BaseFullReader","_super34","_this44","handleResponse","statusCode","_setReadableStream","getResponseHeader","_ref31","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_super35","_this45","_httpHeaders","_BaseFullReader2","_super36","_this46","lstat","stat","createReadStream","_BaseRangeReader2","_super37","_this47","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","_ref32","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","match","iter","_match2","quot","part","parts","_n","_matches$_n","_quot","_part","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","quotindex","extvalue","encodingend","_","charset","hex","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","getArrayBuffer","rangeHeader","abortRequest","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","_read5","fullRequestXhrId","fullRequestXhr","getRequestXhr","_ref33","lengthComputable","_callee11","_context11","isPendingRequest","_requestId","requestRange","_read6","_close","_callee12","_context12","createFetchOptions","abortController","signal","credentials","redirect","createHeaders","Headers","PDFFetchStreamReader","PDFFetchStreamRangeReader","_this48","_withCredentials","AbortController","_abortController","_headers","_ref34","_read7","_callee13","_yield$this$_reader$r","_context13","_this49","_read8","_callee14","_yield$this$_reader$r2","_context14"],"sourceRoot":""}