diff --git a/build/generic/build/pdf.mjs b/build/generic/build/pdf.mjs index 7a7072dd7e2dc..844096faf4fc8 100644 --- a/build/generic/build/pdf.mjs +++ b/build/generic/build/pdf.mjs @@ -2801,7 +2801,7 @@ function getDocument(src) { } const fetchDocParams = { docId, - apiVersion: '4.0.385', + apiVersion: '4.0.401', data, password, disableAutoFetch, @@ -4549,8 +4549,8 @@ class InternalRenderTask { } } } -const version = '4.0.385'; -const build = 'af3f8cc66'; +const version = '4.0.401'; +const build = '125478d0e'; __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); @@ -16646,8 +16646,8 @@ _display_api_js__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.t -const pdfjsVersion = '4.0.385'; -const pdfjsBuild = 'af3f8cc66'; +const pdfjsVersion = '4.0.401'; +const pdfjsBuild = '125478d0e'; __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); diff --git a/build/generic/build/pdf.sandbox.mjs b/build/generic/build/pdf.sandbox.mjs index ad2d3be6e1e9f..932a8e45de4f7 100644 --- a/build/generic/build/pdf.sandbox.mjs +++ b/build/generic/build/pdf.sandbox.mjs @@ -167,8 +167,8 @@ class SandboxSupportBase { ;// CONCATENATED MODULE: ./src/pdf.sandbox.js -const pdfjsVersion = '4.0.385'; -const pdfjsBuild = 'af3f8cc66'; +const pdfjsVersion = '4.0.401'; +const pdfjsBuild = '125478d0e'; class SandboxSupport extends SandboxSupportBase { exportValueToSandbox(val) { return JSON.stringify(val); @@ -188,7 +188,7 @@ class Sandbox { this._alertOnError = 0; } create(data) { - const code = ['var __webpack_exports__ = globalThis.pdfjsSandbox = {};\n\n;// CONCATENATED MODULE: ./src/scripting_api/constants.js\nconst Border = Object.freeze({\n s: "solid",\n d: "dashed",\n b: "beveled",\n i: "inset",\n u: "underline"\n});\nconst Cursor = Object.freeze({\n visible: 0,\n hidden: 1,\n delay: 2\n});\nconst Display = Object.freeze({\n visible: 0,\n hidden: 1,\n noPrint: 2,\n noView: 3\n});\nconst Font = Object.freeze({\n Times: "Times-Roman",\n TimesB: "Times-Bold",\n TimesI: "Times-Italic",\n TimesBI: "Times-BoldItalic",\n Helv: "Helvetica",\n HelvB: "Helvetica-Bold",\n HelvI: "Helvetica-Oblique",\n HelvBI: "Helvetica-BoldOblique",\n Cour: "Courier",\n CourB: "Courier-Bold",\n CourI: "Courier-Oblique",\n CourBI: "Courier-BoldOblique",\n Symbol: "Symbol",\n ZapfD: "ZapfDingbats",\n KaGo: "HeiseiKakuGo-W5-UniJIS-UCS2-H",\n KaMi: "HeiseiMin-W3-UniJIS-UCS2-H"\n});\nconst Highlight = Object.freeze({\n n: "none",\n i: "invert",\n p: "push",\n o: "outline"\n});\nconst Position = Object.freeze({\n textOnly: 0,\n iconOnly: 1,\n iconTextV: 2,\n textIconV: 3,\n iconTextH: 4,\n textIconH: 5,\n overlay: 6\n});\nconst ScaleHow = Object.freeze({\n proportional: 0,\n anamorphic: 1\n});\nconst ScaleWhen = Object.freeze({\n always: 0,\n never: 1,\n tooBig: 2,\n tooSmall: 3\n});\nconst Style = Object.freeze({\n ch: "check",\n cr: "cross",\n di: "diamond",\n ci: "circle",\n st: "star",\n sq: "square"\n});\nconst Trans = Object.freeze({\n blindsH: "BlindsHorizontal",\n blindsV: "BlindsVertical",\n boxI: "BoxIn",\n boxO: "BoxOut",\n dissolve: "Dissolve",\n glitterD: "GlitterDown",\n glitterR: "GlitterRight",\n glitterRD: "GlitterRightDown",\n random: "Random",\n replace: "Replace",\n splitHI: "SplitHorizontalIn",\n splitHO: "SplitHorizontalOut",\n splitVI: "SplitVerticalIn",\n splitVO: "SplitVerticalOut",\n wipeD: "WipeDown",\n wipeL: "WipeLeft",\n wipeR: "WipeRight",\n wipeU: "WipeUp"\n});\nconst ZoomType = Object.freeze({\n none: "NoVary",\n fitP: "FitPage",\n fitW: "FitWidth",\n fitH: "FitHeight",\n fitV: "FitVisibleWidth",\n pref: "Preferred",\n refW: "ReflowWidth"\n});\nconst GlobalConstants = Object.freeze({\n IDS_GREATER_THAN: "Invalid value: must be greater than or equal to % s.",\n IDS_GT_AND_LT: "Invalid value: must be greater than or equal to % s " + "and less than or equal to % s.",\n IDS_LESS_THAN: "Invalid value: must be less than or equal to % s.",\n IDS_INVALID_MONTH: "** Invalid **",\n IDS_INVALID_DATE: "Invalid date / time: please ensure that the date / time exists.Field",\n IDS_INVALID_DATE2: " should match format ",\n IDS_INVALID_VALUE: "The value entered does not match the format of the field",\n IDS_AM: "am",\n IDS_PM: "pm",\n IDS_MONTH_INFO: "January[1] February[2] March[3] April[4] May[5] " + "June[6] July[7] August[8] September[9] October[10] " + "November[11] December[12] Sept[9] Jan[1] Feb[2] Mar[3] " + "Apr[4] Jun[6] Jul[7] Aug[8] Sep[9] Oct[10] Nov[11] Dec[12]",\n IDS_STARTUP_CONSOLE_MSG: "** ^ _ ^ **",\n RE_NUMBER_ENTRY_DOT_SEP: ["[+-]?\\\\d*\\\\.?\\\\d*"],\n RE_NUMBER_COMMIT_DOT_SEP: ["[+-]?\\\\d+(\\\\.\\\\d+)?", "[+-]?\\\\.\\\\d+", "[+-]?\\\\d+\\\\."],\n RE_NUMBER_ENTRY_COMMA_SEP: ["[+-]?\\\\d*,?\\\\d*"],\n RE_NUMBER_COMMIT_COMMA_SEP: ["[+-]?\\\\d+([.,]\\\\d+)?", "[+-]?[.,]\\\\d+", "[+-]?\\\\d+[.,]"],\n RE_ZIP_ENTRY: ["\\\\d{0,5}"],\n RE_ZIP_COMMIT: ["\\\\d{5}"],\n RE_ZIP4_ENTRY: ["\\\\d{0,5}(\\\\.|[- ])?\\\\d{0,4}"],\n RE_ZIP4_COMMIT: ["\\\\d{5}(\\\\.|[- ])?\\\\d{4}"],\n RE_PHONE_ENTRY: ["\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}", "\\\\(\\\\d{0,3}", "\\\\(\\\\d{0,3}\\\\)(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}", "\\\\(\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}", "\\\\d{0,3}\\\\)(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}", "011(\\\\.|[- \\\\d])*"],\n RE_PHONE_COMMIT: ["\\\\d{3}(\\\\.|[- ])?\\\\d{4}", "\\\\d{3}(\\\\.|[- ])?\\\\d{3}(\\\\.|[- ])?\\\\d{4}", "\\\\(\\\\d{3}\\\\)(\\\\.|[- ])?\\\\d{3}(\\\\.|[- ])?\\\\d{4}", "011(\\\\.|[- \\\\d])*"],\n RE_SSN_ENTRY: ["\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,2}(\\\\.|[- ])?\\\\d{0,4}"],\n RE_SSN_COMMIT: ["\\\\d{3}(\\\\.|[- ])?\\\\d{2}(\\\\.|[- ])?\\\\d{4}"]\n});\n\n;// CONCATENATED MODULE: ./src/scripting_api/common.js\nconst FieldType = {\n none: 0,\n number: 1,\n percent: 2,\n date: 3,\n time: 4\n};\nfunction createActionsMap(actions) {\n const actionsMap = new Map();\n if (actions) {\n for (const [eventType, actionsForEvent] of Object.entries(actions)) {\n actionsMap.set(eventType, actionsForEvent);\n }\n }\n return actionsMap;\n}\nfunction getFieldType(actions) {\n let format = actions.get("Format");\n if (!format) {\n return FieldType.none;\n }\n format = format[0];\n format = format.trim();\n if (format.startsWith("AFNumber_")) {\n return FieldType.number;\n }\n if (format.startsWith("AFPercent_")) {\n return FieldType.percent;\n }\n if (format.startsWith("AFDate_")) {\n return FieldType.date;\n }\n if (format.startsWith("AFTime_")) {\n return FieldType.time;\n }\n return FieldType.none;\n}\n\n;// CONCATENATED MODULE: ./src/shared/scripting_utils.js\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0");\n}\nfunction scaleAndClamp(x) {\n return Math.max(0, Math.min(255, 255 * x));\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return ["CMYK", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return ["RGB", g, g, g];\n }\n static G_rgb([g]) {\n g = scaleAndClamp(g);\n return [g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return ["G", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_rgb(color) {\n return color.map(scaleAndClamp);\n }\n static RGB_HTML(color) {\n return `#${color.map(makeColorComp).join("")}`;\n }\n static T_HTML() {\n return "#00000000";\n }\n static T_rgb() {\n return [null];\n }\n static CMYK_RGB([c, y, m, k]) {\n return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_rgb([c, y, m, k]) {\n return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return ["CMYK", c, m, y, k];\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/pdf_object.js\nclass PDFObject {\n constructor(data) {\n this._expandos = Object.create(null);\n this._send = data.send || null;\n this._id = data.id || null;\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/color.js\n\n\nclass Color extends PDFObject {\n constructor() {\n super({});\n this.transparent = ["T"];\n this.black = ["G", 0];\n this.white = ["G", 1];\n this.red = ["RGB", 1, 0, 0];\n this.green = ["RGB", 0, 1, 0];\n this.blue = ["RGB", 0, 0, 1];\n this.cyan = ["CMYK", 1, 0, 0, 0];\n this.magenta = ["CMYK", 0, 1, 0, 0];\n this.yellow = ["CMYK", 0, 0, 1, 0];\n this.dkGray = ["G", 0.25];\n this.gray = ["G", 0.5];\n this.ltGray = ["G", 0.75];\n }\n static _isValidSpace(cColorSpace) {\n return typeof cColorSpace === "string" && (cColorSpace === "T" || cColorSpace === "G" || cColorSpace === "RGB" || cColorSpace === "CMYK");\n }\n static _isValidColor(colorArray) {\n if (!Array.isArray(colorArray) || colorArray.length === 0) {\n return false;\n }\n const space = colorArray[0];\n if (!Color._isValidSpace(space)) {\n return false;\n }\n switch (space) {\n case "T":\n if (colorArray.length !== 1) {\n return false;\n }\n break;\n case "G":\n if (colorArray.length !== 2) {\n return false;\n }\n break;\n case "RGB":\n if (colorArray.length !== 4) {\n return false;\n }\n break;\n case "CMYK":\n if (colorArray.length !== 5) {\n return false;\n }\n break;\n default:\n return false;\n }\n return colorArray.slice(1).every(c => typeof c === "number" && c >= 0 && c <= 1);\n }\n static _getCorrectColor(colorArray) {\n return Color._isValidColor(colorArray) ? colorArray : ["G", 0];\n }\n convert(colorArray, cColorSpace) {\n if (!Color._isValidSpace(cColorSpace)) {\n return this.black;\n }\n if (cColorSpace === "T") {\n return ["T"];\n }\n colorArray = Color._getCorrectColor(colorArray);\n if (colorArray[0] === cColorSpace) {\n return colorArray;\n }\n if (colorArray[0] === "T") {\n return this.convert(this.black, cColorSpace);\n }\n return ColorConverters[`${colorArray[0]}_${cColorSpace}`](colorArray.slice(1));\n }\n equal(colorArray1, colorArray2) {\n colorArray1 = Color._getCorrectColor(colorArray1);\n colorArray2 = Color._getCorrectColor(colorArray2);\n if (colorArray1[0] === "T" || colorArray2[0] === "T") {\n return colorArray1[0] === "T" && colorArray2[0] === "T";\n }\n if (colorArray1[0] !== colorArray2[0]) {\n colorArray2 = this.convert(colorArray2, colorArray1[0]);\n }\n return colorArray1.slice(1).every((c, i) => c === colorArray2[i + 1]);\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/field.js\n\n\n\nclass Field extends PDFObject {\n constructor(data) {\n super(data);\n this.alignment = data.alignment || "left";\n this.borderStyle = data.borderStyle || "";\n this.buttonAlignX = data.buttonAlignX || 50;\n this.buttonAlignY = data.buttonAlignY || 50;\n this.buttonFitBounds = data.buttonFitBounds;\n this.buttonPosition = data.buttonPosition;\n this.buttonScaleHow = data.buttonScaleHow;\n this.ButtonScaleWhen = data.buttonScaleWhen;\n this.calcOrderIndex = data.calcOrderIndex;\n this.comb = data.comb;\n this.commitOnSelChange = data.commitOnSelChange;\n this.currentValueIndices = data.currentValueIndices;\n this.defaultStyle = data.defaultStyle;\n this.defaultValue = data.defaultValue;\n this.doNotScroll = data.doNotScroll;\n this.doNotSpellCheck = data.doNotSpellCheck;\n this.delay = data.delay;\n this.display = data.display;\n this.doc = data.doc.wrapped;\n this.editable = data.editable;\n this.exportValues = data.exportValues;\n this.fileSelect = data.fileSelect;\n this.hidden = data.hidden;\n this.highlight = data.highlight;\n this.lineWidth = data.lineWidth;\n this.multiline = data.multiline;\n this.multipleSelection = !!data.multipleSelection;\n this.name = data.name;\n this.password = data.password;\n this.print = data.print;\n this.radiosInUnison = data.radiosInUnison;\n this.readonly = data.readonly;\n this.rect = data.rect;\n this.required = data.required;\n this.richText = data.richText;\n this.richValue = data.richValue;\n this.style = data.style;\n this.submitName = data.submitName;\n this.textFont = data.textFont;\n this.textSize = data.textSize;\n this.type = data.type;\n this.userName = data.userName;\n this._actions = createActionsMap(data.actions);\n this._browseForFileToSubmit = data.browseForFileToSubmit || null;\n this._buttonCaption = null;\n this._buttonIcon = null;\n this._charLimit = data.charLimit;\n this._children = null;\n this._currentValueIndices = data.currentValueIndices || 0;\n this._document = data.doc;\n this._fieldPath = data.fieldPath;\n this._fillColor = data.fillColor || ["T"];\n this._isChoice = Array.isArray(data.items);\n this._items = data.items || [];\n this._hasValue = data.hasOwnProperty("value");\n this._page = data.page || 0;\n this._strokeColor = data.strokeColor || ["G", 0];\n this._textColor = data.textColor || ["G", 0];\n this._value = null;\n this._kidIds = data.kidIds || null;\n this._fieldType = getFieldType(this._actions);\n this._siblings = data.siblings || null;\n this._rotation = data.rotation || 0;\n this._globalEval = data.globalEval;\n this._appObjects = data.appObjects;\n this.value = data.value || "";\n }\n get currentValueIndices() {\n if (!this._isChoice) {\n return 0;\n }\n return this._currentValueIndices;\n }\n set currentValueIndices(indices) {\n if (!this._isChoice) {\n return;\n }\n if (!Array.isArray(indices)) {\n indices = [indices];\n }\n if (!indices.every(i => typeof i === "number" && Number.isInteger(i) && i >= 0 && i < this.numItems)) {\n return;\n }\n indices.sort();\n if (this.multipleSelection) {\n this._currentValueIndices = indices;\n this._value = [];\n indices.forEach(i => {\n this._value.push(this._items[i].displayValue);\n });\n } else if (indices.length > 0) {\n indices = indices.splice(1, indices.length - 1);\n this._currentValueIndices = indices[0];\n this._value = this._items[this._currentValueIndices];\n }\n this._send({\n id: this._id,\n indices\n });\n }\n get fillColor() {\n return this._fillColor;\n }\n set fillColor(color) {\n if (Color._isValidColor(color)) {\n this._fillColor = color;\n }\n }\n get bgColor() {\n return this.fillColor;\n }\n set bgColor(color) {\n this.fillColor = color;\n }\n get charLimit() {\n return this._charLimit;\n }\n set charLimit(limit) {\n if (typeof limit !== "number") {\n throw new Error("Invalid argument value");\n }\n this._charLimit = Math.max(0, Math.floor(limit));\n }\n get numItems() {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n return this._items.length;\n }\n set numItems(_) {\n throw new Error("field.numItems is read-only");\n }\n get strokeColor() {\n return this._strokeColor;\n }\n set strokeColor(color) {\n if (Color._isValidColor(color)) {\n this._strokeColor = color;\n }\n }\n get borderColor() {\n return this.strokeColor;\n }\n set borderColor(color) {\n this.strokeColor = color;\n }\n get page() {\n return this._page;\n }\n set page(_) {\n throw new Error("field.page is read-only");\n }\n get rotation() {\n return this._rotation;\n }\n set rotation(angle) {\n angle = Math.floor(angle);\n if (angle % 90 !== 0) {\n throw new Error("Invalid rotation: must be a multiple of 90");\n }\n angle %= 360;\n if (angle < 0) {\n angle += 360;\n }\n this._rotation = angle;\n }\n get textColor() {\n return this._textColor;\n }\n set textColor(color) {\n if (Color._isValidColor(color)) {\n this._textColor = color;\n }\n }\n get fgColor() {\n return this.textColor;\n }\n set fgColor(color) {\n this.textColor = color;\n }\n get value() {\n return this._value;\n }\n set value(value) {\n if (this._isChoice) {\n this._setChoiceValue(value);\n return;\n }\n if (value === "" || typeof value !== "string" || this._fieldType >= FieldType.date) {\n this._originalValue = undefined;\n this._value = value;\n return;\n }\n this._originalValue = value;\n const _value = value.trim().replace(",", ".");\n this._value = !isNaN(_value) ? parseFloat(_value) : value;\n }\n _getValue() {\n return this._originalValue ?? this.value;\n }\n _setChoiceValue(value) {\n if (this.multipleSelection) {\n if (!Array.isArray(value)) {\n value = [value];\n }\n const values = new Set(value);\n if (Array.isArray(this._currentValueIndices)) {\n this._currentValueIndices.length = 0;\n this._value.length = 0;\n } else {\n this._currentValueIndices = [];\n this._value = [];\n }\n this._items.forEach((item, i) => {\n if (values.has(item.exportValue)) {\n this._currentValueIndices.push(i);\n this._value.push(item.exportValue);\n }\n });\n } else {\n if (Array.isArray(value)) {\n value = value[0];\n }\n const index = this._items.findIndex(({\n exportValue\n }) => value === exportValue);\n if (index !== -1) {\n this._currentValueIndices = index;\n this._value = this._items[index].exportValue;\n }\n }\n }\n get valueAsString() {\n return (this._value ?? "").toString();\n }\n set valueAsString(_) {}\n browseForFileToSubmit() {\n if (this._browseForFileToSubmit) {\n this._browseForFileToSubmit();\n }\n }\n buttonGetCaption(nFace = 0) {\n if (this._buttonCaption) {\n return this._buttonCaption[nFace];\n }\n return "";\n }\n buttonGetIcon(nFace = 0) {\n if (this._buttonIcon) {\n return this._buttonIcon[nFace];\n }\n return null;\n }\n buttonImportIcon(cPath = null, nPave = 0) {}\n buttonSetCaption(cCaption, nFace = 0) {\n if (!this._buttonCaption) {\n this._buttonCaption = ["", "", ""];\n }\n this._buttonCaption[nFace] = cCaption;\n }\n buttonSetIcon(oIcon, nFace = 0) {\n if (!this._buttonIcon) {\n this._buttonIcon = [null, null, null];\n }\n this._buttonIcon[nFace] = oIcon;\n }\n checkThisBox(nWidget, bCheckIt = true) {}\n clearItems() {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n this._items = [];\n this._send({\n id: this._id,\n clear: null\n });\n }\n deleteItemAt(nIdx = null) {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n if (!this.numItems) {\n return;\n }\n if (nIdx === null) {\n nIdx = Array.isArray(this._currentValueIndices) ? this._currentValueIndices[0] : this._currentValueIndices;\n nIdx ||= 0;\n }\n if (nIdx < 0 || nIdx >= this.numItems) {\n nIdx = this.numItems - 1;\n }\n this._items.splice(nIdx, 1);\n if (Array.isArray(this._currentValueIndices)) {\n let index = this._currentValueIndices.findIndex(i => i >= nIdx);\n if (index !== -1) {\n if (this._currentValueIndices[index] === nIdx) {\n this._currentValueIndices.splice(index, 1);\n }\n for (const ii = this._currentValueIndices.length; index < ii; index++) {\n --this._currentValueIndices[index];\n }\n }\n } else if (this._currentValueIndices === nIdx) {\n this._currentValueIndices = this.numItems > 0 ? 0 : -1;\n } else if (this._currentValueIndices > nIdx) {\n --this._currentValueIndices;\n }\n this._send({\n id: this._id,\n remove: nIdx\n });\n }\n getItemAt(nIdx = -1, bExportValue = false) {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n if (nIdx < 0 || nIdx >= this.numItems) {\n nIdx = this.numItems - 1;\n }\n const item = this._items[nIdx];\n return bExportValue ? item.exportValue : item.displayValue;\n }\n getArray() {\n if (this._kidIds) {\n const array = [];\n const fillArrayWithKids = kidIds => {\n for (const id of kidIds) {\n const obj = this._appObjects[id];\n if (!obj) {\n continue;\n }\n if (obj.obj._hasValue) {\n array.push(obj.wrapped);\n }\n if (obj.obj._kidIds) {\n fillArrayWithKids(obj.obj._kidIds);\n }\n }\n };\n fillArrayWithKids(this._kidIds);\n return array;\n }\n if (this._children === null) {\n this._children = this._document.obj._getTerminalChildren(this._fieldPath);\n }\n return this._children;\n }\n getLock() {\n return undefined;\n }\n isBoxChecked(nWidget) {\n return false;\n }\n isDefaultChecked(nWidget) {\n return false;\n }\n insertItemAt(cName, cExport = undefined, nIdx = 0) {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n if (!cName) {\n return;\n }\n if (nIdx < 0 || nIdx > this.numItems) {\n nIdx = this.numItems;\n }\n if (this._items.some(({\n displayValue\n }) => displayValue === cName)) {\n return;\n }\n if (cExport === undefined) {\n cExport = cName;\n }\n const data = {\n displayValue: cName,\n exportValue: cExport\n };\n this._items.splice(nIdx, 0, data);\n if (Array.isArray(this._currentValueIndices)) {\n let index = this._currentValueIndices.findIndex(i => i >= nIdx);\n if (index !== -1) {\n for (const ii = this._currentValueIndices.length; index < ii; index++) {\n ++this._currentValueIndices[index];\n }\n }\n } else if (this._currentValueIndices >= nIdx) {\n ++this._currentValueIndices;\n }\n this._send({\n id: this._id,\n insert: {\n index: nIdx,\n ...data\n }\n });\n }\n setAction(cTrigger, cScript) {\n if (typeof cTrigger !== "string" || typeof cScript !== "string") {\n return;\n }\n if (!(cTrigger in this._actions)) {\n this._actions[cTrigger] = [];\n }\n this._actions[cTrigger].push(cScript);\n }\n setFocus() {\n this._send({\n id: this._id,\n focus: true\n });\n }\n setItems(oArray) {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n this._items.length = 0;\n for (const element of oArray) {\n let displayValue, exportValue;\n if (Array.isArray(element)) {\n displayValue = element[0]?.toString() || "";\n exportValue = element[1]?.toString() || "";\n } else {\n displayValue = exportValue = element?.toString() || "";\n }\n this._items.push({\n displayValue,\n exportValue\n });\n }\n this._currentValueIndices = 0;\n this._send({\n id: this._id,\n items: this._items\n });\n }\n setLock() {}\n signatureGetModifications() {}\n signatureGetSeedValue() {}\n signatureInfo() {}\n signatureSetSeedValue() {}\n signatureSign() {}\n signatureValidate() {}\n _isButton() {\n return false;\n }\n _reset() {\n this.value = this.defaultValue;\n }\n _runActions(event) {\n const eventName = event.name;\n if (!this._actions.has(eventName)) {\n return false;\n }\n const actions = this._actions.get(eventName);\n try {\n for (const action of actions) {\n this._globalEval(action);\n }\n } catch (error) {\n event.rc = false;\n throw error;\n }\n return true;\n }\n}\nclass RadioButtonField extends Field {\n constructor(otherButtons, data) {\n super(data);\n this.exportValues = [this.exportValues];\n this._radioIds = [this._id];\n this._radioActions = [this._actions];\n for (const radioData of otherButtons) {\n this.exportValues.push(radioData.exportValues);\n this._radioIds.push(radioData.id);\n this._radioActions.push(createActionsMap(radioData.actions));\n if (this._value === radioData.exportValues) {\n this._id = radioData.id;\n }\n }\n this._hasBeenInitialized = true;\n this._value = data.value || "";\n }\n get value() {\n return this._value;\n }\n set value(value) {\n if (!this._hasBeenInitialized) {\n return;\n }\n if (value === null || value === undefined) {\n this._value = "";\n }\n const i = this.exportValues.indexOf(value);\n if (0 <= i && i < this._radioIds.length) {\n this._id = this._radioIds[i];\n this._value = value;\n } else if (value === "Off" && this._radioIds.length === 2) {\n const nextI = (1 + this._radioIds.indexOf(this._id)) % 2;\n this._id = this._radioIds[nextI];\n this._value = this.exportValues[nextI];\n }\n }\n checkThisBox(nWidget, bCheckIt = true) {\n if (nWidget < 0 || nWidget >= this._radioIds.length || !bCheckIt) {\n return;\n }\n this._id = this._radioIds[nWidget];\n this._value = this.exportValues[nWidget];\n this._send({\n id: this._id,\n value: this._value\n });\n }\n isBoxChecked(nWidget) {\n return nWidget >= 0 && nWidget < this._radioIds.length && this._id === this._radioIds[nWidget];\n }\n isDefaultChecked(nWidget) {\n return nWidget >= 0 && nWidget < this.exportValues.length && this.defaultValue === this.exportValues[nWidget];\n }\n _getExportValue(state) {\n const i = this._radioIds.indexOf(this._id);\n return this.exportValues[i];\n }\n _runActions(event) {\n const i = this._radioIds.indexOf(this._id);\n this._actions = this._radioActions[i];\n return super._runActions(event);\n }\n _isButton() {\n return true;\n }\n}\nclass CheckboxField extends RadioButtonField {\n get value() {\n return this._value;\n }\n set value(value) {\n if (!value || value === "Off") {\n this._value = "Off";\n } else {\n super.value = value;\n }\n }\n _getExportValue(state) {\n return state ? super._getExportValue(state) : "Off";\n }\n isBoxChecked(nWidget) {\n if (this._value === "Off") {\n return false;\n }\n return super.isBoxChecked(nWidget);\n }\n isDefaultChecked(nWidget) {\n if (this.defaultValue === "Off") {\n return this._value === "Off";\n }\n return super.isDefaultChecked(nWidget);\n }\n checkThisBox(nWidget, bCheckIt = true) {\n if (nWidget < 0 || nWidget >= this._radioIds.length) {\n return;\n }\n this._id = this._radioIds[nWidget];\n this._value = bCheckIt ? this.exportValues[nWidget] : "Off";\n this._send({\n id: this._id,\n value: this._value\n });\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/aform.js\n\nclass AForm {\n constructor(document, app, util, color) {\n this._document = document;\n this._app = app;\n this._util = util;\n this._color = color;\n this._dateFormats = ["m/d", "m/d/yy", "mm/dd/yy", "mm/yy", "d-mmm", "d-mmm-yy", "dd-mmm-yy", "yy-mm-dd", "mmm-yy", "mmmm-yy", "mmm d, yyyy", "mmmm d, yyyy", "m/d/yy h:MM tt", "m/d/yy HH:MM"];\n this._timeFormats = ["HH:MM", "h:MM tt", "HH:MM:ss", "h:MM:ss tt"];\n this._dateActionsCache = new Map();\n this._emailRegex = new RegExp("^[a-zA-Z0-9.!#$%&\'*+\\\\/=?^_`{|}~-]+" + "@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?" + "(?:\\\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$");\n }\n _mkTargetName(event) {\n return event.target ? `[ ${event.target.name} ]` : "";\n }\n _tryToGuessDate(cFormat, cDate) {\n let actions = this._dateActionsCache.get(cFormat);\n if (!actions) {\n actions = [];\n this._dateActionsCache.set(cFormat, actions);\n cFormat.replaceAll(/(d+)|(m+)|(y+)|(H+)|(M+)|(s+)/g, function (match, d, m, y, H, M, s) {\n if (d) {\n actions.push((n, date) => {\n if (n >= 1 && n <= 31) {\n date.setDate(n);\n return true;\n }\n return false;\n });\n } else if (m) {\n actions.push((n, date) => {\n if (n >= 1 && n <= 12) {\n date.setMonth(n - 1);\n return true;\n }\n return false;\n });\n } else if (y) {\n actions.push((n, date) => {\n if (n < 50) {\n n += 2000;\n } else if (n < 100) {\n n += 1900;\n }\n date.setYear(n);\n return true;\n });\n } else if (H) {\n actions.push((n, date) => {\n if (n >= 0 && n <= 23) {\n date.setHours(n);\n return true;\n }\n return false;\n });\n } else if (M) {\n actions.push((n, date) => {\n if (n >= 0 && n <= 59) {\n date.setMinutes(n);\n return true;\n }\n return false;\n });\n } else if (s) {\n actions.push((n, date) => {\n if (n >= 0 && n <= 59) {\n date.setSeconds(n);\n return true;\n }\n return false;\n });\n }\n return "";\n });\n }\n const number = /\\d+/g;\n let i = 0;\n let array;\n const date = new Date();\n while ((array = number.exec(cDate)) !== null) {\n if (i < actions.length) {\n if (!actions[i++](parseInt(array[0]), date)) {\n return null;\n }\n } else {\n break;\n }\n }\n if (i === 0) {\n return null;\n }\n return date;\n }\n _parseDate(cFormat, cDate) {\n let date = null;\n try {\n date = this._util.scand(cFormat, cDate);\n } catch {}\n if (!date) {\n date = Date.parse(cDate);\n date = isNaN(date) ? this._tryToGuessDate(cFormat, cDate) : new Date(date);\n }\n return date;\n }\n AFMergeChange(event = globalThis.event) {\n if (event.willCommit) {\n return event.value.toString();\n }\n return this._app._eventDispatcher.mergeChange(event);\n }\n AFParseDateEx(cString, cOrder) {\n return this._parseDate(cOrder, cString);\n }\n AFExtractNums(str) {\n if (typeof str === "number") {\n return [str];\n }\n if (!str || typeof str !== "string") {\n return null;\n }\n const first = str.charAt(0);\n if (first === "." || first === ",") {\n str = `0${str}`;\n }\n const numbers = str.match(/(\\d+)/g);\n if (numbers.length === 0) {\n return null;\n }\n return numbers;\n }\n AFMakeNumber(str) {\n if (typeof str === "number") {\n return str;\n }\n if (typeof str !== "string") {\n return null;\n }\n str = str.trim().replace(",", ".");\n const number = parseFloat(str);\n if (isNaN(number) || !isFinite(number)) {\n return null;\n }\n return number;\n }\n AFMakeArrayFromList(string) {\n if (typeof string === "string") {\n return string.split(/, ?/g);\n }\n return string;\n }\n AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, bCurrencyPrepend) {\n const event = globalThis.event;\n if (!event.value) {\n return;\n }\n let value = this.AFMakeNumber(event.value);\n if (value === null) {\n event.value = "";\n return;\n }\n const sign = Math.sign(value);\n const buf = [];\n let hasParen = false;\n if (sign === -1 && bCurrencyPrepend && negStyle === 0) {\n buf.push("-");\n }\n if ((negStyle === 2 || negStyle === 3) && sign === -1) {\n buf.push("(");\n hasParen = true;\n }\n if (bCurrencyPrepend) {\n buf.push(strCurrency);\n }\n sepStyle = Math.min(Math.max(0, Math.floor(sepStyle)), 4);\n buf.push("%,", sepStyle, ".", nDec.toString(), "f");\n if (!bCurrencyPrepend) {\n buf.push(strCurrency);\n }\n if (hasParen) {\n buf.push(")");\n }\n if (negStyle === 1 || negStyle === 3) {\n event.target.textColor = sign === 1 ? this._color.black : this._color.red;\n }\n if ((negStyle !== 0 || bCurrencyPrepend) && sign === -1) {\n value = -value;\n }\n const formatStr = buf.join("");\n event.value = this._util.printf(formatStr, value);\n }\n AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, bCurrencyPrepend) {\n const event = globalThis.event;\n let value = this.AFMergeChange(event);\n if (!value) {\n return;\n }\n value = value.trim();\n let pattern;\n if (sepStyle > 1) {\n pattern = event.willCommit ? /^[+-]?(\\d+(,\\d*)?|,\\d+)$/ : /^[+-]?\\d*,?\\d*$/;\n } else {\n pattern = event.willCommit ? /^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)$/ : /^[+-]?\\d*\\.?\\d*$/;\n }\n if (!pattern.test(value)) {\n if (event.willCommit) {\n const err = `${GlobalConstants.IDS_INVALID_VALUE} ${this._mkTargetName(event)}`;\n this._app.alert(err);\n }\n event.rc = false;\n }\n if (event.willCommit && sepStyle > 1) {\n event.value = parseFloat(value.replace(",", "."));\n }\n }\n AFPercent_Format(nDec, sepStyle, percentPrepend = false) {\n if (typeof nDec !== "number") {\n return;\n }\n if (typeof sepStyle !== "number") {\n return;\n }\n if (nDec < 0) {\n throw new Error("Invalid nDec value in AFPercent_Format");\n }\n const event = globalThis.event;\n if (nDec > 512) {\n event.value = "%";\n return;\n }\n nDec = Math.floor(nDec);\n sepStyle = Math.min(Math.max(0, Math.floor(sepStyle)), 4);\n let value = this.AFMakeNumber(event.value);\n if (value === null) {\n event.value = "%";\n return;\n }\n const formatStr = `%,${sepStyle}.${nDec}f`;\n value = this._util.printf(formatStr, value * 100);\n event.value = percentPrepend ? `%${value}` : `${value}%`;\n }\n AFPercent_Keystroke(nDec, sepStyle) {\n this.AFNumber_Keystroke(nDec, sepStyle, 0, 0, "", true);\n }\n AFDate_FormatEx(cFormat) {\n const event = globalThis.event;\n const value = event.value;\n if (!value) {\n return;\n }\n const date = this._parseDate(cFormat, value);\n if (date !== null) {\n event.value = this._util.printd(cFormat, date);\n }\n }\n AFDate_Format(pdf) {\n if (pdf >= 0 && pdf < this._dateFormats.length) {\n this.AFDate_FormatEx(this._dateFormats[pdf]);\n }\n }\n AFDate_KeystrokeEx(cFormat) {\n const event = globalThis.event;\n if (!event.willCommit) {\n return;\n }\n const value = this.AFMergeChange(event);\n if (!value) {\n return;\n }\n if (this._parseDate(cFormat, value) === null) {\n const invalid = GlobalConstants.IDS_INVALID_DATE;\n const invalid2 = GlobalConstants.IDS_INVALID_DATE2;\n const err = `${invalid} ${this._mkTargetName(event)}${invalid2}${cFormat}`;\n this._app.alert(err);\n event.rc = false;\n }\n }\n AFDate_Keystroke(pdf) {\n if (pdf >= 0 && pdf < this._dateFormats.length) {\n this.AFDate_KeystrokeEx(this._dateFormats[pdf]);\n }\n }\n AFRange_Validate(bGreaterThan, nGreaterThan, bLessThan, nLessThan) {\n const event = globalThis.event;\n if (!event.value) {\n return;\n }\n const value = this.AFMakeNumber(event.value);\n if (value === null) {\n return;\n }\n bGreaterThan = !!bGreaterThan;\n bLessThan = !!bLessThan;\n if (bGreaterThan) {\n nGreaterThan = this.AFMakeNumber(nGreaterThan);\n if (nGreaterThan === null) {\n return;\n }\n }\n if (bLessThan) {\n nLessThan = this.AFMakeNumber(nLessThan);\n if (nLessThan === null) {\n return;\n }\n }\n let err = "";\n if (bGreaterThan && bLessThan) {\n if (value < nGreaterThan || value > nLessThan) {\n err = this._util.printf(GlobalConstants.IDS_GT_AND_LT, nGreaterThan, nLessThan);\n }\n } else if (bGreaterThan) {\n if (value < nGreaterThan) {\n err = this._util.printf(GlobalConstants.IDS_GREATER_THAN, nGreaterThan);\n }\n } else if (value > nLessThan) {\n err = this._util.printf(GlobalConstants.IDS_LESS_THAN, nLessThan);\n }\n if (err) {\n this._app.alert(err);\n event.rc = false;\n }\n }\n AFSimple(cFunction, nValue1, nValue2) {\n const value1 = this.AFMakeNumber(nValue1);\n if (value1 === null) {\n throw new Error("Invalid nValue1 in AFSimple");\n }\n const value2 = this.AFMakeNumber(nValue2);\n if (value2 === null) {\n throw new Error("Invalid nValue2 in AFSimple");\n }\n switch (cFunction) {\n case "AVG":\n return (value1 + value2) / 2;\n case "SUM":\n return value1 + value2;\n case "PRD":\n return value1 * value2;\n case "MIN":\n return Math.min(value1, value2);\n case "MAX":\n return Math.max(value1, value2);\n }\n throw new Error("Invalid cFunction in AFSimple");\n }\n AFSimple_Calculate(cFunction, cFields) {\n const actions = {\n AVG: args => args.reduce((acc, value) => acc + value, 0) / args.length,\n SUM: args => args.reduce((acc, value) => acc + value, 0),\n PRD: args => args.reduce((acc, value) => acc * value, 1),\n MIN: args => args.reduce((acc, value) => Math.min(acc, value), Number.MAX_VALUE),\n MAX: args => args.reduce((acc, value) => Math.max(acc, value), Number.MIN_VALUE)\n };\n if (!(cFunction in actions)) {\n throw new TypeError("Invalid function in AFSimple_Calculate");\n }\n const event = globalThis.event;\n const values = [];\n cFields = this.AFMakeArrayFromList(cFields);\n for (const cField of cFields) {\n const field = this._document.getField(cField);\n if (!field) {\n continue;\n }\n for (const child of field.getArray()) {\n const number = this.AFMakeNumber(child.value);\n if (number !== null) {\n values.push(number);\n }\n }\n }\n if (values.length === 0) {\n event.value = cFunction === "PRD" ? 1 : 0;\n return;\n }\n const res = actions[cFunction](values);\n event.value = Math.round(1e6 * res) / 1e6;\n }\n AFSpecial_Format(psf) {\n const event = globalThis.event;\n if (!event.value) {\n return;\n }\n psf = this.AFMakeNumber(psf);\n let formatStr;\n switch (psf) {\n case 0:\n formatStr = "99999";\n break;\n case 1:\n formatStr = "99999-9999";\n break;\n case 2:\n formatStr = this._util.printx("9999999999", event.value).length >= 10 ? "(999) 999-9999" : "999-9999";\n break;\n case 3:\n formatStr = "999-99-9999";\n break;\n default:\n throw new Error("Invalid psf in AFSpecial_Format");\n }\n event.value = this._util.printx(formatStr, event.value);\n }\n AFSpecial_KeystrokeEx(cMask) {\n if (!cMask) {\n return;\n }\n const event = globalThis.event;\n const value = this.AFMergeChange(event);\n if (!value) {\n return;\n }\n const checkers = new Map([["9", char => char >= "0" && char <= "9"], ["A", char => "a" <= char && char <= "z" || "A" <= char && char <= "Z"], ["O", char => "a" <= char && char <= "z" || "A" <= char && char <= "Z" || "0" <= char && char <= "9"], ["X", char => true]]);\n function _checkValidity(_value, _cMask) {\n for (let i = 0, ii = _value.length; i < ii; i++) {\n const mask = _cMask.charAt(i);\n const char = _value.charAt(i);\n const checker = checkers.get(mask);\n if (checker) {\n if (!checker(char)) {\n return false;\n }\n } else if (mask !== char) {\n return false;\n }\n }\n return true;\n }\n const err = `${GlobalConstants.IDS_INVALID_VALUE} = "${cMask}"`;\n if (value.length > cMask.length) {\n this._app.alert(err);\n event.rc = false;\n return;\n }\n if (event.willCommit) {\n if (value.length < cMask.length) {\n this._app.alert(err);\n event.rc = false;\n return;\n }\n if (!_checkValidity(value, cMask)) {\n this._app.alert(err);\n event.rc = false;\n return;\n }\n event.value += cMask.substring(value.length);\n return;\n }\n if (value.length < cMask.length) {\n cMask = cMask.substring(0, value.length);\n }\n if (!_checkValidity(value, cMask)) {\n this._app.alert(err);\n event.rc = false;\n }\n }\n AFSpecial_Keystroke(psf) {\n const event = globalThis.event;\n psf = this.AFMakeNumber(psf);\n let formatStr;\n switch (psf) {\n case 0:\n formatStr = "99999";\n break;\n case 1:\n formatStr = "99999-9999";\n break;\n case 2:\n const value = this.AFMergeChange(event);\n formatStr = value.length > 8 || value.startsWith("(") ? "(999) 999-9999" : "999-9999";\n break;\n case 3:\n formatStr = "999-99-9999";\n break;\n default:\n throw new Error("Invalid psf in AFSpecial_Keystroke");\n }\n this.AFSpecial_KeystrokeEx(formatStr);\n }\n AFTime_FormatEx(cFormat) {\n this.AFDate_FormatEx(cFormat);\n }\n AFTime_Format(pdf) {\n if (pdf >= 0 && pdf < this._timeFormats.length) {\n this.AFDate_FormatEx(this._timeFormats[pdf]);\n }\n }\n AFTime_KeystrokeEx(cFormat) {\n this.AFDate_KeystrokeEx(cFormat);\n }\n AFTime_Keystroke(pdf) {\n if (pdf >= 0 && pdf < this._timeFormats.length) {\n this.AFDate_KeystrokeEx(this._timeFormats[pdf]);\n }\n }\n eMailValidate(str) {\n return this._emailRegex.test(str);\n }\n AFExactMatch(rePatterns, str) {\n if (rePatterns instanceof RegExp) {\n return str.match(rePatterns)?.[0] === str || 0;\n }\n return rePatterns.findIndex(re => str.match(re)?.[0] === str) + 1;\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/app_utils.js\nconst VIEWER_TYPE = "PDF.js";\nconst VIEWER_VARIATION = "Full";\nconst VIEWER_VERSION = 21.00720099;\nconst FORMS_VERSION = 21.00720099;\nconst USERACTIVATION_CALLBACKID = 0;\nconst USERACTIVATION_MAXTIME_VALIDITY = 5000;\nfunction serializeError(error) {\n const value = `${error.toString()}\\n${error.stack}`;\n return {\n command: "error",\n value\n };\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/event.js\n\nclass Event {\n constructor(data) {\n this.change = data.change || "";\n this.changeEx = data.changeEx || null;\n this.commitKey = data.commitKey || 0;\n this.fieldFull = data.fieldFull || false;\n this.keyDown = data.keyDown || false;\n this.modifier = data.modifier || false;\n this.name = data.name;\n this.rc = true;\n this.richChange = data.richChange || [];\n this.richChangeEx = data.richChangeEx || [];\n this.richValue = data.richValue || [];\n this.selEnd = data.selEnd ?? -1;\n this.selStart = data.selStart ?? -1;\n this.shift = data.shift || false;\n this.source = data.source || null;\n this.target = data.target || null;\n this.targetName = "";\n this.type = "Field";\n this.value = data.value || "";\n this.willCommit = data.willCommit || false;\n }\n}\nclass EventDispatcher {\n constructor(document, calculationOrder, objects, externalCall) {\n this._document = document;\n this._calculationOrder = calculationOrder;\n this._objects = objects;\n this._externalCall = externalCall;\n this._document.obj._eventDispatcher = this;\n this._isCalculating = false;\n }\n mergeChange(event) {\n let value = event.value;\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value !== "string") {\n value = value.toString();\n }\n const prefix = event.selStart >= 0 ? value.substring(0, event.selStart) : "";\n const postfix = event.selEnd >= 0 && event.selEnd <= value.length ? value.substring(event.selEnd) : "";\n return `${prefix}${event.change}${postfix}`;\n }\n userActivation() {\n this._document.obj._userActivation = true;\n this._externalCall("setTimeout", [USERACTIVATION_CALLBACKID, USERACTIVATION_MAXTIME_VALIDITY]);\n }\n dispatch(baseEvent) {\n const id = baseEvent.id;\n if (!(id in this._objects)) {\n let event;\n if (id === "doc" || id === "page") {\n event = globalThis.event = new Event(baseEvent);\n event.source = event.target = this._document.wrapped;\n event.name = baseEvent.name;\n }\n if (id === "doc") {\n const eventName = event.name;\n if (eventName === "Open") {\n this.userActivation();\n this._document.obj._initActions();\n this.formatAll();\n }\n if (!["DidPrint", "DidSave", "WillPrint", "WillSave"].includes(eventName)) {\n this.userActivation();\n }\n this._document.obj._dispatchDocEvent(event.name);\n } else if (id === "page") {\n this.userActivation();\n this._document.obj._dispatchPageEvent(event.name, baseEvent.actions, baseEvent.pageNumber);\n } else if (id === "app" && baseEvent.name === "ResetForm") {\n this.userActivation();\n for (const fieldId of baseEvent.ids) {\n const obj = this._objects[fieldId];\n obj?.obj._reset();\n }\n }\n return;\n }\n const name = baseEvent.name;\n const source = this._objects[id];\n const event = globalThis.event = new Event(baseEvent);\n let savedChange;\n this.userActivation();\n if (source.obj._isButton()) {\n source.obj._id = id;\n event.value = source.obj._getExportValue(event.value);\n if (name === "Action") {\n source.obj._value = event.value;\n }\n }\n switch (name) {\n case "Keystroke":\n savedChange = {\n value: event.value,\n changeEx: event.changeEx,\n change: event.change,\n selStart: event.selStart,\n selEnd: event.selEnd\n };\n break;\n case "Blur":\n case "Focus":\n Object.defineProperty(event, "value", {\n configurable: false,\n writable: false,\n enumerable: true,\n value: event.value\n });\n break;\n case "Validate":\n this.runValidation(source, event);\n return;\n case "Action":\n this.runActions(source, source, event, name);\n this.runCalculate(source, event);\n return;\n }\n this.runActions(source, source, event, name);\n if (name !== "Keystroke") {\n return;\n }\n if (event.rc) {\n if (event.willCommit) {\n this.runValidation(source, event);\n } else {\n if (source.obj._isChoice) {\n source.obj.value = savedChange.changeEx;\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: source.obj.value\n });\n return;\n }\n const value = source.obj.value = this.mergeChange(event);\n let selStart, selEnd;\n if (event.selStart !== savedChange.selStart || event.selEnd !== savedChange.selEnd) {\n selStart = event.selStart;\n selEnd = event.selEnd;\n } else {\n selEnd = selStart = savedChange.selStart + event.change.length;\n }\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value,\n selRange: [selStart, selEnd]\n });\n }\n } else if (!event.willCommit) {\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: savedChange.value,\n selRange: [savedChange.selStart, savedChange.selEnd]\n });\n } else {\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: "",\n formattedValue: null,\n selRange: [0, 0]\n });\n }\n }\n formatAll() {\n const event = globalThis.event = new Event({});\n for (const source of Object.values(this._objects)) {\n event.value = source.obj.value;\n this.runActions(source, source, event, "Format");\n }\n }\n runValidation(source, event) {\n const didValidateRun = this.runActions(source, source, event, "Validate");\n if (event.rc) {\n source.obj.value = event.value;\n this.runCalculate(source, event);\n const savedValue = source.obj._getValue();\n event.value = source.obj.value;\n let formattedValue = null;\n if (this.runActions(source, source, event, "Format")) {\n formattedValue = event.value?.toString?.();\n }\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: savedValue,\n formattedValue\n });\n event.value = savedValue;\n } else if (didValidateRun) {\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: "",\n formattedValue: null,\n selRange: [0, 0],\n focus: true\n });\n }\n }\n runActions(source, target, event, eventName) {\n event.source = source.wrapped;\n event.target = target.wrapped;\n event.name = eventName;\n event.targetName = target.obj.name;\n event.rc = true;\n return target.obj._runActions(event);\n }\n calculateNow() {\n if (!this._calculationOrder || this._isCalculating || !this._document.obj.calculate) {\n return;\n }\n this._isCalculating = true;\n const first = this._calculationOrder[0];\n const source = this._objects[first];\n globalThis.event = new Event({});\n try {\n this.runCalculate(source, globalThis.event);\n } catch (error) {\n this._isCalculating = false;\n throw error;\n }\n this._isCalculating = false;\n }\n runCalculate(source, event) {\n if (!this._calculationOrder || !this._document.obj.calculate) {\n return;\n }\n for (const targetId of this._calculationOrder) {\n if (!(targetId in this._objects)) {\n continue;\n }\n if (!this._document.obj.calculate) {\n break;\n }\n event.value = null;\n const target = this._objects[targetId];\n let savedValue = target.obj.value;\n this.runActions(source, target, event, "Calculate");\n if (!event.rc) {\n continue;\n }\n if (event.value !== null) {\n target.obj.value = event.value;\n }\n event.value = target.obj.value;\n this.runActions(target, target, event, "Validate");\n if (!event.rc) {\n if (target.obj.value !== savedValue) {\n target.wrapped.value = savedValue;\n }\n continue;\n }\n savedValue = event.value = target.obj.value;\n let formattedValue = null;\n if (this.runActions(target, target, event, "Format")) {\n formattedValue = event.value?.toString?.();\n }\n target.obj._send({\n id: target.obj._id,\n siblings: target.obj._siblings,\n value: savedValue,\n formattedValue\n });\n }\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/fullscreen.js\n\n\nclass FullScreen extends PDFObject {\n constructor(data) {\n super(data);\n this._backgroundColor = [];\n this._clickAdvances = true;\n this._cursor = Cursor.hidden;\n this._defaultTransition = "";\n this._escapeExits = true;\n this._isFullScreen = true;\n this._loop = false;\n this._timeDelay = 3600;\n this._usePageTiming = false;\n this._useTimer = false;\n }\n get backgroundColor() {\n return this._backgroundColor;\n }\n set backgroundColor(_) {}\n get clickAdvances() {\n return this._clickAdvances;\n }\n set clickAdvances(_) {}\n get cursor() {\n return this._cursor;\n }\n set cursor(_) {}\n get defaultTransition() {\n return this._defaultTransition;\n }\n set defaultTransition(_) {}\n get escapeExits() {\n return this._escapeExits;\n }\n set escapeExits(_) {}\n get isFullScreen() {\n return this._isFullScreen;\n }\n set isFullScreen(_) {}\n get loop() {\n return this._loop;\n }\n set loop(_) {}\n get timeDelay() {\n return this._timeDelay;\n }\n set timeDelay(_) {}\n get transitions() {\n return ["Replace", "WipeRight", "WipeLeft", "WipeDown", "WipeUp", "SplitHorizontalIn", "SplitHorizontalOut", "SplitVerticalIn", "SplitVerticalOut", "BlindsHorizontal", "BlindsVertical", "BoxIn", "BoxOut", "GlitterRight", "GlitterDown", "GlitterRightDown", "Dissolve", "Random"];\n }\n set transitions(_) {\n throw new Error("fullscreen.transitions is read-only");\n }\n get usePageTiming() {\n return this._usePageTiming;\n }\n set usePageTiming(_) {}\n get useTimer() {\n return this._useTimer;\n }\n set useTimer(_) {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/thermometer.js\n\nclass Thermometer extends PDFObject {\n constructor(data) {\n super(data);\n this._cancelled = false;\n this._duration = 100;\n this._text = "";\n this._value = 0;\n }\n get cancelled() {\n return this._cancelled;\n }\n set cancelled(_) {\n throw new Error("thermometer.cancelled is read-only");\n }\n get duration() {\n return this._duration;\n }\n set duration(val) {\n this._duration = val;\n }\n get text() {\n return this._text;\n }\n set text(val) {\n this._text = val;\n }\n get value() {\n return this._value;\n }\n set value(val) {\n this._value = val;\n }\n begin() {}\n end() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/app.js\n\n\n\n\n\n\nclass App extends PDFObject {\n constructor(data) {\n super(data);\n this._constants = null;\n this._focusRect = true;\n this._fs = null;\n this._language = App._getLanguage(data.language);\n this._openInPlace = false;\n this._platform = App._getPlatform(data.platform);\n this._runtimeHighlight = false;\n this._runtimeHighlightColor = ["T"];\n this._thermometer = null;\n this._toolbar = false;\n this._document = data._document;\n this._proxyHandler = data.proxyHandler;\n this._objects = Object.create(null);\n this._eventDispatcher = new EventDispatcher(this._document, data.calculationOrder, this._objects, data.externalCall);\n this._timeoutIds = new WeakMap();\n if (typeof FinalizationRegistry !== "undefined") {\n this._timeoutIdsRegistry = new FinalizationRegistry(this._cleanTimeout.bind(this));\n } else {\n this._timeoutIdsRegistry = null;\n }\n this._timeoutCallbackIds = new Map();\n this._timeoutCallbackId = USERACTIVATION_CALLBACKID + 1;\n this._globalEval = data.globalEval;\n this._externalCall = data.externalCall;\n }\n _dispatchEvent(pdfEvent) {\n this._eventDispatcher.dispatch(pdfEvent);\n }\n _registerTimeoutCallback(cExpr) {\n const id = this._timeoutCallbackId++;\n this._timeoutCallbackIds.set(id, cExpr);\n return id;\n }\n _unregisterTimeoutCallback(id) {\n this._timeoutCallbackIds.delete(id);\n }\n _evalCallback({\n callbackId,\n interval\n }) {\n if (callbackId === USERACTIVATION_CALLBACKID) {\n this._document.obj._userActivation = false;\n return;\n }\n const expr = this._timeoutCallbackIds.get(callbackId);\n if (!interval) {\n this._unregisterTimeoutCallback(callbackId);\n }\n if (expr) {\n this._globalEval(expr);\n }\n }\n _registerTimeout(callbackId, interval) {\n const timeout = Object.create(null);\n const id = {\n callbackId,\n interval\n };\n this._timeoutIds.set(timeout, id);\n this._timeoutIdsRegistry?.register(timeout, id);\n return timeout;\n }\n _unregisterTimeout(timeout) {\n this._timeoutIdsRegistry?.unregister(timeout);\n const data = this._timeoutIds.get(timeout);\n if (!data) {\n return;\n }\n this._timeoutIds.delete(timeout);\n this._cleanTimeout(data);\n }\n _cleanTimeout({\n callbackId,\n interval\n }) {\n this._unregisterTimeoutCallback(callbackId);\n if (interval) {\n this._externalCall("clearInterval", [callbackId]);\n } else {\n this._externalCall("clearTimeout", [callbackId]);\n }\n }\n static _getPlatform(platform) {\n if (typeof platform === "string") {\n platform = platform.toLowerCase();\n if (platform.includes("win")) {\n return "WIN";\n } else if (platform.includes("mac")) {\n return "MAC";\n }\n }\n return "UNIX";\n }\n static _getLanguage(language) {\n const [main, sub] = language.toLowerCase().split(/[-_]/);\n switch (main) {\n case "zh":\n if (sub === "cn" || sub === "sg") {\n return "CHS";\n }\n return "CHT";\n case "da":\n return "DAN";\n case "de":\n return "DEU";\n case "es":\n return "ESP";\n case "fr":\n return "FRA";\n case "it":\n return "ITA";\n case "ko":\n return "KOR";\n case "ja":\n return "JPN";\n case "nl":\n return "NLD";\n case "no":\n return "NOR";\n case "pt":\n if (sub === "br") {\n return "PTB";\n }\n return "ENU";\n case "fi":\n return "SUO";\n case "SV":\n return "SVE";\n default:\n return "ENU";\n }\n }\n get activeDocs() {\n return [this._document.wrapped];\n }\n set activeDocs(_) {\n throw new Error("app.activeDocs is read-only");\n }\n get calculate() {\n return this._document.obj.calculate;\n }\n set calculate(calculate) {\n this._document.obj.calculate = calculate;\n }\n get constants() {\n if (!this._constants) {\n this._constants = Object.freeze({\n align: Object.freeze({\n left: 0,\n center: 1,\n right: 2,\n top: 3,\n bottom: 4\n })\n });\n }\n return this._constants;\n }\n set constants(_) {\n throw new Error("app.constants is read-only");\n }\n get focusRect() {\n return this._focusRect;\n }\n set focusRect(val) {\n this._focusRect = val;\n }\n get formsVersion() {\n return FORMS_VERSION;\n }\n set formsVersion(_) {\n throw new Error("app.formsVersion is read-only");\n }\n get fromPDFConverters() {\n return [];\n }\n set fromPDFConverters(_) {\n throw new Error("app.fromPDFConverters is read-only");\n }\n get fs() {\n if (this._fs === null) {\n this._fs = new Proxy(new FullScreen({\n send: this._send\n }), this._proxyHandler);\n }\n return this._fs;\n }\n set fs(_) {\n throw new Error("app.fs is read-only");\n }\n get language() {\n return this._language;\n }\n set language(_) {\n throw new Error("app.language is read-only");\n }\n get media() {\n return undefined;\n }\n set media(_) {\n throw new Error("app.media is read-only");\n }\n get monitors() {\n return [];\n }\n set monitors(_) {\n throw new Error("app.monitors is read-only");\n }\n get numPlugins() {\n return 0;\n }\n set numPlugins(_) {\n throw new Error("app.numPlugins is read-only");\n }\n get openInPlace() {\n return this._openInPlace;\n }\n set openInPlace(val) {\n this._openInPlace = val;\n }\n get platform() {\n return this._platform;\n }\n set platform(_) {\n throw new Error("app.platform is read-only");\n }\n get plugins() {\n return [];\n }\n set plugins(_) {\n throw new Error("app.plugins is read-only");\n }\n get printColorProfiles() {\n return [];\n }\n set printColorProfiles(_) {\n throw new Error("app.printColorProfiles is read-only");\n }\n get printerNames() {\n return [];\n }\n set printerNames(_) {\n throw new Error("app.printerNames is read-only");\n }\n get runtimeHighlight() {\n return this._runtimeHighlight;\n }\n set runtimeHighlight(val) {\n this._runtimeHighlight = val;\n }\n get runtimeHighlightColor() {\n return this._runtimeHighlightColor;\n }\n set runtimeHighlightColor(val) {\n if (Color._isValidColor(val)) {\n this._runtimeHighlightColor = val;\n }\n }\n get thermometer() {\n if (this._thermometer === null) {\n this._thermometer = new Proxy(new Thermometer({\n send: this._send\n }), this._proxyHandler);\n }\n return this._thermometer;\n }\n set thermometer(_) {\n throw new Error("app.thermometer is read-only");\n }\n get toolbar() {\n return this._toolbar;\n }\n set toolbar(val) {\n this._toolbar = val;\n }\n get toolbarHorizontal() {\n return this.toolbar;\n }\n set toolbarHorizontal(value) {\n this.toolbar = value;\n }\n get toolbarVertical() {\n return this.toolbar;\n }\n set toolbarVertical(value) {\n this.toolbar = value;\n }\n get viewerType() {\n return VIEWER_TYPE;\n }\n set viewerType(_) {\n throw new Error("app.viewerType is read-only");\n }\n get viewerVariation() {\n return VIEWER_VARIATION;\n }\n set viewerVariation(_) {\n throw new Error("app.viewerVariation is read-only");\n }\n get viewerVersion() {\n return VIEWER_VERSION;\n }\n set viewerVersion(_) {\n throw new Error("app.viewerVersion is read-only");\n }\n addMenuItem() {}\n addSubMenu() {}\n addToolButton() {}\n alert(cMsg, nIcon = 0, nType = 0, cTitle = "PDF.js", oDoc = null, oCheckbox = null) {\n if (!this._document.obj._userActivation) {\n return 0;\n }\n this._document.obj._userActivation = false;\n if (cMsg && typeof cMsg === "object") {\n nType = cMsg.nType;\n cMsg = cMsg.cMsg;\n }\n cMsg = (cMsg || "").toString();\n nType = typeof nType !== "number" || isNaN(nType) || nType < 0 || nType > 3 ? 0 : nType;\n if (nType >= 2) {\n return this._externalCall("confirm", [cMsg]) ? 4 : 3;\n }\n this._externalCall("alert", [cMsg]);\n return 1;\n }\n beep() {}\n beginPriv() {}\n browseForDoc() {}\n clearInterval(oInterval) {\n this._unregisterTimeout(oInterval);\n }\n clearTimeOut(oTime) {\n this._unregisterTimeout(oTime);\n }\n endPriv() {}\n execDialog() {}\n execMenuItem(item) {\n if (!this._document.obj._userActivation) {\n return;\n }\n this._document.obj._userActivation = false;\n switch (item) {\n case "SaveAs":\n if (this._document.obj._disableSaving) {\n return;\n }\n this._send({\n command: item\n });\n break;\n case "FirstPage":\n case "LastPage":\n case "NextPage":\n case "PrevPage":\n case "ZoomViewIn":\n case "ZoomViewOut":\n this._send({\n command: item\n });\n break;\n case "FitPage":\n this._send({\n command: "zoom",\n value: "page-fit"\n });\n break;\n case "Print":\n if (this._document.obj._disablePrinting) {\n return;\n }\n this._send({\n command: "print"\n });\n break;\n }\n }\n getNthPlugInName() {}\n getPath() {}\n goBack() {}\n goForward() {}\n hideMenuItem() {}\n hideToolbarButton() {}\n launchURL() {}\n listMenuItems() {}\n listToolbarButtons() {}\n loadPolicyFile() {}\n mailGetAddrs() {}\n mailMsg() {}\n newDoc() {}\n newCollection() {}\n newFDF() {}\n openDoc() {}\n openFDF() {}\n popUpMenu() {}\n popUpMenuEx() {}\n removeToolButton() {}\n response(cQuestion, cTitle = "", cDefault = "", bPassword = "", cLabel = "") {\n if (cQuestion && typeof cQuestion === "object") {\n cDefault = cQuestion.cDefault;\n cQuestion = cQuestion.cQuestion;\n }\n cQuestion = (cQuestion || "").toString();\n cDefault = (cDefault || "").toString();\n return this._externalCall("prompt", [cQuestion, cDefault || ""]);\n }\n setInterval(cExpr, nMilliseconds = 0) {\n if (cExpr && typeof cExpr === "object") {\n nMilliseconds = cExpr.nMilliseconds || 0;\n cExpr = cExpr.cExpr;\n }\n if (typeof cExpr !== "string") {\n throw new TypeError("First argument of app.setInterval must be a string");\n }\n if (typeof nMilliseconds !== "number") {\n throw new TypeError("Second argument of app.setInterval must be a number");\n }\n const callbackId = this._registerTimeoutCallback(cExpr);\n this._externalCall("setInterval", [callbackId, nMilliseconds]);\n return this._registerTimeout(callbackId, true);\n }\n setTimeOut(cExpr, nMilliseconds = 0) {\n if (cExpr && typeof cExpr === "object") {\n nMilliseconds = cExpr.nMilliseconds || 0;\n cExpr = cExpr.cExpr;\n }\n if (typeof cExpr !== "string") {\n throw new TypeError("First argument of app.setTimeOut must be a string");\n }\n if (typeof nMilliseconds !== "number") {\n throw new TypeError("Second argument of app.setTimeOut must be a number");\n }\n const callbackId = this._registerTimeoutCallback(cExpr);\n this._externalCall("setTimeout", [callbackId, nMilliseconds]);\n return this._registerTimeout(callbackId, false);\n }\n trustedFunction() {}\n trustPropagatorFunction() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/console.js\n\nclass Console extends PDFObject {\n clear() {\n this._send({\n id: "clear"\n });\n }\n hide() {}\n println(msg) {\n if (typeof msg === "string") {\n this._send({\n command: "println",\n value: "PDF.js Console:: " + msg\n });\n }\n }\n show() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/print_params.js\nclass PrintParams {\n constructor(data) {\n this.binaryOk = true;\n this.bitmapDPI = 150;\n this.booklet = {\n binding: 0,\n duplexMode: 0,\n subsetFrom: 0,\n subsetTo: -1\n };\n this.colorOverride = 0;\n this.colorProfile = "";\n this.constants = Object.freeze({\n bookletBindings: Object.freeze({\n Left: 0,\n Right: 1,\n LeftTall: 2,\n RightTall: 3\n }),\n bookletDuplexMode: Object.freeze({\n BothSides: 0,\n FrontSideOnly: 1,\n BasicSideOnly: 2\n }),\n colorOverrides: Object.freeze({\n auto: 0,\n gray: 1,\n mono: 2\n }),\n fontPolicies: Object.freeze({\n everyPage: 0,\n jobStart: 1,\n pageRange: 2\n }),\n handling: Object.freeze({\n none: 0,\n fit: 1,\n shrink: 2,\n tileAll: 3,\n tileLarge: 4,\n nUp: 5,\n booklet: 6\n }),\n interactionLevel: Object.freeze({\n automatic: 0,\n full: 1,\n silent: 2\n }),\n nUpPageOrders: Object.freeze({\n Horizontal: 0,\n HorizontalReversed: 1,\n Vertical: 2\n }),\n printContents: Object.freeze({\n doc: 0,\n docAndComments: 1,\n formFieldsOnly: 2\n }),\n flagValues: Object.freeze({\n applyOverPrint: 1,\n applySoftProofSettings: 1 << 1,\n applyWorkingColorSpaces: 1 << 2,\n emitHalftones: 1 << 3,\n emitPostScriptXObjects: 1 << 4,\n emitFormsAsPSForms: 1 << 5,\n maxJP2KRes: 1 << 6,\n setPageSize: 1 << 7,\n suppressBG: 1 << 8,\n suppressCenter: 1 << 9,\n suppressCJKFontSubst: 1 << 10,\n suppressCropClip: 1 << 1,\n suppressRotate: 1 << 12,\n suppressTransfer: 1 << 13,\n suppressUCR: 1 << 14,\n useTrapAnnots: 1 << 15,\n usePrintersMarks: 1 << 16\n }),\n rasterFlagValues: Object.freeze({\n textToOutline: 1,\n strokesToOutline: 1 << 1,\n allowComplexClip: 1 << 2,\n preserveOverprint: 1 << 3\n }),\n subsets: Object.freeze({\n all: 0,\n even: 1,\n odd: 2\n }),\n tileMarks: Object.freeze({\n none: 0,\n west: 1,\n east: 2\n }),\n usages: Object.freeze({\n auto: 0,\n use: 1,\n noUse: 2\n })\n });\n this.downloadFarEastFonts = false;\n this.fileName = "";\n this.firstPage = 0;\n this.flags = 0;\n this.fontPolicy = 0;\n this.gradientDPI = 150;\n this.interactive = 1;\n this.lastPage = data.lastPage;\n this.npUpAutoRotate = false;\n this.npUpNumPagesH = 2;\n this.npUpNumPagesV = 2;\n this.npUpPageBorder = false;\n this.npUpPageOrder = 0;\n this.pageHandling = 0;\n this.pageSubset = 0;\n this.printAsImage = false;\n this.printContent = 0;\n this.printerName = "";\n this.psLevel = 0;\n this.rasterFlags = 0;\n this.reversePages = false;\n this.tileLabel = false;\n this.tileMark = 0;\n this.tileOverlap = 0;\n this.tileScale = 1.0;\n this.transparencyLevel = 75;\n this.usePrinterCRD = 0;\n this.useT1Conversion = 0;\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/doc.js\n\n\n\n\n\nconst DOC_EXTERNAL = false;\nclass InfoProxyHandler {\n static get(obj, prop) {\n return obj[prop.toLowerCase()];\n }\n static set(obj, prop, value) {\n throw new Error(`doc.info.${prop} is read-only`);\n }\n}\nclass Doc extends PDFObject {\n constructor(data) {\n super(data);\n this._expandos = globalThis;\n this._baseURL = data.baseURL || "";\n this._calculate = true;\n this._delay = false;\n this._dirty = false;\n this._disclosed = false;\n this._media = undefined;\n this._metadata = data.metadata || "";\n this._noautocomplete = undefined;\n this._nocache = undefined;\n this._spellDictionaryOrder = [];\n this._spellLanguageOrder = [];\n this._printParams = null;\n this._fields = new Map();\n this._fieldNames = [];\n this._event = null;\n this._author = data.Author || "";\n this._creator = data.Creator || "";\n this._creationDate = this._getDate(data.CreationDate) || null;\n this._docID = data.docID || ["", ""];\n this._documentFileName = data.filename || "";\n this._filesize = data.filesize || 0;\n this._keywords = data.Keywords || "";\n this._layout = data.layout || "";\n this._modDate = this._getDate(data.ModDate) || null;\n this._numFields = 0;\n this._numPages = data.numPages || 1;\n this._pageNum = data.pageNum || 0;\n this._producer = data.Producer || "";\n this._securityHandler = data.EncryptFilterName || null;\n this._subject = data.Subject || "";\n this._title = data.Title || "";\n this._URL = data.URL || "";\n this._info = new Proxy({\n title: this._title,\n author: this._author,\n authors: data.authors || [this._author],\n subject: this._subject,\n keywords: this._keywords,\n creator: this._creator,\n producer: this._producer,\n creationdate: this._creationDate,\n moddate: this._modDate,\n trapped: data.Trapped || "Unknown"\n }, InfoProxyHandler);\n this._zoomType = ZoomType.none;\n this._zoom = data.zoom || 100;\n this._actions = createActionsMap(data.actions);\n this._globalEval = data.globalEval;\n this._pageActions = new Map();\n this._userActivation = false;\n this._disablePrinting = false;\n this._disableSaving = false;\n }\n _initActions() {\n const dontRun = new Set(["WillClose", "WillSave", "DidSave", "WillPrint", "DidPrint", "OpenAction"]);\n this._disableSaving = true;\n for (const actionName of this._actions.keys()) {\n if (!dontRun.has(actionName)) {\n this._runActions(actionName);\n }\n }\n this._runActions("OpenAction");\n this._disableSaving = false;\n }\n _dispatchDocEvent(name) {\n switch (name) {\n case "Open":\n this._disableSaving = true;\n this._runActions("OpenAction");\n this._disableSaving = false;\n break;\n case "WillPrint":\n this._disablePrinting = true;\n try {\n this._runActions(name);\n } catch (error) {\n this._send(serializeError(error));\n }\n this._send({\n command: "WillPrintFinished"\n });\n this._disablePrinting = false;\n break;\n case "WillSave":\n this._disableSaving = true;\n this._runActions(name);\n this._disableSaving = false;\n break;\n default:\n this._runActions(name);\n }\n }\n _dispatchPageEvent(name, actions, pageNumber) {\n if (name === "PageOpen") {\n if (!this._pageActions.has(pageNumber)) {\n this._pageActions.set(pageNumber, createActionsMap(actions));\n }\n this._pageNum = pageNumber - 1;\n }\n actions = this._pageActions.get(pageNumber)?.get(name);\n if (actions) {\n for (const action of actions) {\n this._globalEval(action);\n }\n }\n }\n _runActions(name) {\n const actions = this._actions.get(name);\n if (actions) {\n for (const action of actions) {\n this._globalEval(action);\n }\n }\n }\n _addField(name, field) {\n this._fields.set(name, field);\n this._fieldNames.push(name);\n this._numFields++;\n }\n _getDate(date) {\n if (!date || date.length < 15 || !date.startsWith("D:")) {\n return date;\n }\n date = date.substring(2);\n const year = date.substring(0, 4);\n const month = date.substring(4, 6);\n const day = date.substring(6, 8);\n const hour = date.substring(8, 10);\n const minute = date.substring(10, 12);\n const o = date.charAt(12);\n let second, offsetPos;\n if (o === "Z" || o === "+" || o === "-") {\n second = "00";\n offsetPos = 12;\n } else {\n second = date.substring(12, 14);\n offsetPos = 14;\n }\n const offset = date.substring(offsetPos).replaceAll("\'", "");\n return new Date(`${year}-${month}-${day}T${hour}:${minute}:${second}${offset}`);\n }\n get author() {\n return this._author;\n }\n set author(_) {\n throw new Error("doc.author is read-only");\n }\n get baseURL() {\n return this._baseURL;\n }\n set baseURL(baseURL) {\n this._baseURL = baseURL;\n }\n get bookmarkRoot() {\n return undefined;\n }\n set bookmarkRoot(_) {\n throw new Error("doc.bookmarkRoot is read-only");\n }\n get calculate() {\n return this._calculate;\n }\n set calculate(calculate) {\n this._calculate = calculate;\n }\n get creator() {\n return this._creator;\n }\n set creator(_) {\n throw new Error("doc.creator is read-only");\n }\n get dataObjects() {\n return [];\n }\n set dataObjects(_) {\n throw new Error("doc.dataObjects is read-only");\n }\n get delay() {\n return this._delay;\n }\n set delay(delay) {\n this._delay = delay;\n }\n get dirty() {\n return this._dirty;\n }\n set dirty(dirty) {\n this._dirty = dirty;\n }\n get disclosed() {\n return this._disclosed;\n }\n set disclosed(disclosed) {\n this._disclosed = disclosed;\n }\n get docID() {\n return this._docID;\n }\n set docID(_) {\n throw new Error("doc.docID is read-only");\n }\n get documentFileName() {\n return this._documentFileName;\n }\n set documentFileName(_) {\n throw new Error("doc.documentFileName is read-only");\n }\n get dynamicXFAForm() {\n return false;\n }\n set dynamicXFAForm(_) {\n throw new Error("doc.dynamicXFAForm is read-only");\n }\n get external() {\n return DOC_EXTERNAL;\n }\n set external(_) {\n throw new Error("doc.external is read-only");\n }\n get filesize() {\n return this._filesize;\n }\n set filesize(_) {\n throw new Error("doc.filesize is read-only");\n }\n get hidden() {\n return false;\n }\n set hidden(_) {\n throw new Error("doc.hidden is read-only");\n }\n get hostContainer() {\n return undefined;\n }\n set hostContainer(_) {\n throw new Error("doc.hostContainer is read-only");\n }\n get icons() {\n return undefined;\n }\n set icons(_) {\n throw new Error("doc.icons is read-only");\n }\n get info() {\n return this._info;\n }\n set info(_) {\n throw new Error("doc.info is read-only");\n }\n get innerAppWindowRect() {\n return [0, 0, 0, 0];\n }\n set innerAppWindowRect(_) {\n throw new Error("doc.innerAppWindowRect is read-only");\n }\n get innerDocWindowRect() {\n return [0, 0, 0, 0];\n }\n set innerDocWindowRect(_) {\n throw new Error("doc.innerDocWindowRect is read-only");\n }\n get isModal() {\n return false;\n }\n set isModal(_) {\n throw new Error("doc.isModal is read-only");\n }\n get keywords() {\n return this._keywords;\n }\n set keywords(_) {\n throw new Error("doc.keywords is read-only");\n }\n get layout() {\n return this._layout;\n }\n set layout(value) {\n if (!this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (typeof value !== "string") {\n return;\n }\n if (value !== "SinglePage" && value !== "OneColumn" && value !== "TwoColumnLeft" && value !== "TwoPageLeft" && value !== "TwoColumnRight" && value !== "TwoPageRight") {\n value = "SinglePage";\n }\n this._send({\n command: "layout",\n value\n });\n this._layout = value;\n }\n get media() {\n return this._media;\n }\n set media(media) {\n this._media = media;\n }\n get metadata() {\n return this._metadata;\n }\n set metadata(metadata) {\n this._metadata = metadata;\n }\n get modDate() {\n return this._modDate;\n }\n set modDate(_) {\n throw new Error("doc.modDate is read-only");\n }\n get mouseX() {\n return 0;\n }\n set mouseX(_) {\n throw new Error("doc.mouseX is read-only");\n }\n get mouseY() {\n return 0;\n }\n set mouseY(_) {\n throw new Error("doc.mouseY is read-only");\n }\n get noautocomplete() {\n return this._noautocomplete;\n }\n set noautocomplete(noautocomplete) {\n this._noautocomplete = noautocomplete;\n }\n get nocache() {\n return this._nocache;\n }\n set nocache(nocache) {\n this._nocache = nocache;\n }\n get numFields() {\n return this._numFields;\n }\n set numFields(_) {\n throw new Error("doc.numFields is read-only");\n }\n get numPages() {\n return this._numPages;\n }\n set numPages(_) {\n throw new Error("doc.numPages is read-only");\n }\n get numTemplates() {\n return 0;\n }\n set numTemplates(_) {\n throw new Error("doc.numTemplates is read-only");\n }\n get outerAppWindowRect() {\n return [0, 0, 0, 0];\n }\n set outerAppWindowRect(_) {\n throw new Error("doc.outerAppWindowRect is read-only");\n }\n get outerDocWindowRect() {\n return [0, 0, 0, 0];\n }\n set outerDocWindowRect(_) {\n throw new Error("doc.outerDocWindowRect is read-only");\n }\n get pageNum() {\n return this._pageNum;\n }\n set pageNum(value) {\n if (!this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (typeof value !== "number" || value < 0 || value >= this._numPages) {\n return;\n }\n this._send({\n command: "page-num",\n value\n });\n this._pageNum = value;\n }\n get pageWindowRect() {\n return [0, 0, 0, 0];\n }\n set pageWindowRect(_) {\n throw new Error("doc.pageWindowRect is read-only");\n }\n get path() {\n return "";\n }\n set path(_) {\n throw new Error("doc.path is read-only");\n }\n get permStatusReady() {\n return true;\n }\n set permStatusReady(_) {\n throw new Error("doc.permStatusReady is read-only");\n }\n get producer() {\n return this._producer;\n }\n set producer(_) {\n throw new Error("doc.producer is read-only");\n }\n get requiresFullSave() {\n return false;\n }\n set requiresFullSave(_) {\n throw new Error("doc.requiresFullSave is read-only");\n }\n get securityHandler() {\n return this._securityHandler;\n }\n set securityHandler(_) {\n throw new Error("doc.securityHandler is read-only");\n }\n get selectedAnnots() {\n return [];\n }\n set selectedAnnots(_) {\n throw new Error("doc.selectedAnnots is read-only");\n }\n get sounds() {\n return [];\n }\n set sounds(_) {\n throw new Error("doc.sounds is read-only");\n }\n get spellDictionaryOrder() {\n return this._spellDictionaryOrder;\n }\n set spellDictionaryOrder(spellDictionaryOrder) {\n this._spellDictionaryOrder = spellDictionaryOrder;\n }\n get spellLanguageOrder() {\n return this._spellLanguageOrder;\n }\n set spellLanguageOrder(spellLanguageOrder) {\n this._spellLanguageOrder = spellLanguageOrder;\n }\n get subject() {\n return this._subject;\n }\n set subject(_) {\n throw new Error("doc.subject is read-only");\n }\n get templates() {\n return [];\n }\n set templates(_) {\n throw new Error("doc.templates is read-only");\n }\n get title() {\n return this._title;\n }\n set title(_) {\n throw new Error("doc.title is read-only");\n }\n get URL() {\n return this._URL;\n }\n set URL(_) {\n throw new Error("doc.URL is read-only");\n }\n get viewState() {\n return undefined;\n }\n set viewState(_) {\n throw new Error("doc.viewState is read-only");\n }\n get xfa() {\n return this._xfa;\n }\n set xfa(_) {\n throw new Error("doc.xfa is read-only");\n }\n get XFAForeground() {\n return false;\n }\n set XFAForeground(_) {\n throw new Error("doc.XFAForeground is read-only");\n }\n get zoomType() {\n return this._zoomType;\n }\n set zoomType(type) {\n if (!this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (typeof type !== "string") {\n return;\n }\n switch (type) {\n case ZoomType.none:\n this._send({\n command: "zoom",\n value: 1\n });\n break;\n case ZoomType.fitP:\n this._send({\n command: "zoom",\n value: "page-fit"\n });\n break;\n case ZoomType.fitW:\n this._send({\n command: "zoom",\n value: "page-width"\n });\n break;\n case ZoomType.fitH:\n this._send({\n command: "zoom",\n value: "page-height"\n });\n break;\n case ZoomType.fitV:\n this._send({\n command: "zoom",\n value: "auto"\n });\n break;\n case ZoomType.pref:\n case ZoomType.refW:\n break;\n default:\n return;\n }\n this._zoomType = type;\n }\n get zoom() {\n return this._zoom;\n }\n set zoom(value) {\n if (!this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (typeof value !== "number" || value < 8.33 || value > 6400) {\n return;\n }\n this._send({\n command: "zoom",\n value: value / 100\n });\n }\n addAnnot() {}\n addField() {}\n addIcon() {}\n addLink() {}\n addRecipientListCryptFilter() {}\n addRequirement() {}\n addScript() {}\n addThumbnails() {}\n addWatermarkFromFile() {}\n addWatermarkFromText() {}\n addWeblinks() {}\n bringToFront() {}\n calculateNow() {\n this._eventDispatcher.calculateNow();\n }\n closeDoc() {}\n colorConvertPage() {}\n createDataObject() {}\n createTemplate() {}\n deletePages() {}\n deleteSound() {}\n embedDocAsDataObject() {}\n embedOutputIntent() {}\n encryptForRecipients() {}\n encryptUsingPolicy() {}\n exportAsFDF() {}\n exportAsFDFStr() {}\n exportAsText() {}\n exportAsXFDF() {}\n exportAsXFDFStr() {}\n exportDataObject() {}\n exportXFAData() {}\n extractPages() {}\n flattenPages() {}\n getAnnot() {}\n getAnnots() {}\n getAnnot3D() {}\n getAnnots3D() {}\n getColorConvertAction() {}\n getDataObject() {}\n getDataObjectContents() {}\n _getField(cName) {\n if (cName && typeof cName === "object") {\n cName = cName.cName;\n }\n if (typeof cName !== "string") {\n throw new TypeError("Invalid field name: must be a string");\n }\n const searchedField = this._fields.get(cName);\n if (searchedField) {\n return searchedField;\n }\n const parts = cName.split("#");\n let childIndex = NaN;\n if (parts.length === 2) {\n childIndex = Math.floor(parseFloat(parts[1]));\n cName = parts[0];\n }\n for (const [name, field] of this._fields.entries()) {\n if (name.endsWith(cName)) {\n if (!isNaN(childIndex)) {\n const children = this._getChildren(name);\n if (childIndex < 0 || childIndex >= children.length) {\n childIndex = 0;\n }\n if (childIndex < children.length) {\n this._fields.set(cName, children[childIndex]);\n return children[childIndex];\n }\n }\n this._fields.set(cName, field);\n return field;\n }\n }\n return null;\n }\n getField(cName) {\n const field = this._getField(cName);\n if (!field) {\n return null;\n }\n return field.wrapped;\n }\n _getChildren(fieldName) {\n const len = fieldName.length;\n const children = [];\n const pattern = /^\\.[^.]+$/;\n for (const [name, field] of this._fields.entries()) {\n if (name.startsWith(fieldName)) {\n const finalPart = name.slice(len);\n if (pattern.test(finalPart)) {\n children.push(field);\n }\n }\n }\n return children;\n }\n _getTerminalChildren(fieldName) {\n const children = [];\n const len = fieldName.length;\n for (const [name, field] of this._fields.entries()) {\n if (name.startsWith(fieldName)) {\n const finalPart = name.slice(len);\n if (field.obj._hasValue && (finalPart === "" || finalPart.startsWith("."))) {\n children.push(field.wrapped);\n }\n }\n }\n return children;\n }\n getIcon() {}\n getLegalWarnings() {}\n getLinks() {}\n getNthFieldName(nIndex) {\n if (nIndex && typeof nIndex === "object") {\n nIndex = nIndex.nIndex;\n }\n if (typeof nIndex !== "number") {\n throw new TypeError("Invalid field index: must be a number");\n }\n if (0 <= nIndex && nIndex < this.numFields) {\n return this._fieldNames[Math.trunc(nIndex)];\n }\n return null;\n }\n getNthTemplate() {\n return null;\n }\n getOCGs() {}\n getOCGOrder() {}\n getPageBox() {}\n getPageLabel() {}\n getPageNthWord() {}\n getPageNthWordQuads() {}\n getPageNumWords() {}\n getPageRotation() {}\n getPageTransition() {}\n getPrintParams() {\n return this._printParams ||= new PrintParams({\n lastPage: this._numPages - 1\n });\n }\n getSound() {}\n getTemplate() {}\n getURL() {}\n gotoNamedDest() {}\n importAnFDF() {}\n importAnXFDF() {}\n importDataObject() {}\n importIcon() {}\n importSound() {}\n importTextData() {}\n importXFAData() {}\n insertPages() {}\n mailDoc() {}\n mailForm() {}\n movePage() {}\n newPage() {}\n openDataObject() {}\n print(bUI = true, nStart = 0, nEnd = -1, bSilent = false, bShrinkToFit = false, bPrintAsImage = false, bReverse = false, bAnnotations = true, printParams = null) {\n if (this._disablePrinting || !this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (bUI && typeof bUI === "object") {\n nStart = bUI.nStart;\n nEnd = bUI.nEnd;\n bSilent = bUI.bSilent;\n bShrinkToFit = bUI.bShrinkToFit;\n bPrintAsImage = bUI.bPrintAsImage;\n bReverse = bUI.bReverse;\n bAnnotations = bUI.bAnnotations;\n printParams = bUI.printParams;\n bUI = bUI.bUI;\n }\n if (printParams) {\n nStart = printParams.firstPage;\n nEnd = printParams.lastPage;\n }\n nStart = typeof nStart === "number" ? Math.max(0, Math.trunc(nStart)) : 0;\n nEnd = typeof nEnd === "number" ? Math.max(0, Math.trunc(nEnd)) : -1;\n this._send({\n command: "print",\n start: nStart,\n end: nEnd\n });\n }\n removeDataObject() {}\n removeField() {}\n removeIcon() {}\n removeLinks() {}\n removeRequirement() {}\n removeScript() {}\n removeTemplate() {}\n removeThumbnails() {}\n removeWeblinks() {}\n replacePages() {}\n resetForm(aFields = null) {\n if (aFields && typeof aFields === "object" && !Array.isArray(aFields)) {\n aFields = aFields.aFields;\n }\n if (aFields && !Array.isArray(aFields)) {\n aFields = [aFields];\n }\n let mustCalculate = false;\n let fieldsToReset;\n if (aFields) {\n fieldsToReset = [];\n for (const fieldName of aFields) {\n if (!fieldName) {\n continue;\n }\n if (typeof fieldName !== "string") {\n fieldsToReset = null;\n break;\n }\n const field = this._getField(fieldName);\n if (!field) {\n continue;\n }\n fieldsToReset.push(field);\n mustCalculate = true;\n }\n }\n if (!fieldsToReset) {\n fieldsToReset = this._fields.values();\n mustCalculate = this._fields.size !== 0;\n }\n for (const field of fieldsToReset) {\n field.obj.value = field.obj.defaultValue;\n this._send({\n id: field.obj._id,\n siblings: field.obj._siblings,\n value: field.obj.defaultValue,\n formattedValue: null,\n selRange: [0, 0]\n });\n }\n if (mustCalculate) {\n this.calculateNow();\n }\n }\n saveAs() {}\n scroll() {}\n selectPageNthWord() {}\n setAction() {}\n setDataObjectContents() {}\n setOCGOrder() {}\n setPageAction() {}\n setPageBoxes() {}\n setPageLabels() {}\n setPageRotations() {}\n setPageTabOrder() {}\n setPageTransitions() {}\n spawnPageFromTemplate() {}\n submitForm() {}\n syncAnnotScan() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/proxy.js\nclass ProxyHandler {\n constructor() {\n this.nosend = new Set(["delay"]);\n }\n get(obj, prop) {\n if (prop in obj._expandos) {\n const val = obj._expandos[prop];\n if (typeof val === "function") {\n return val.bind(obj);\n }\n return val;\n }\n if (typeof prop === "string" && !prop.startsWith("_") && prop in obj) {\n const val = obj[prop];\n if (typeof val === "function") {\n return val.bind(obj);\n }\n return val;\n }\n return undefined;\n }\n set(obj, prop, value) {\n if (obj._kidIds) {\n obj._kidIds.forEach(id => {\n obj._appObjects[id].wrapped[prop] = value;\n });\n }\n if (typeof prop === "string" && !prop.startsWith("_") && prop in obj) {\n const old = obj[prop];\n obj[prop] = value;\n if (!this.nosend.has(prop) && obj._send && obj._id !== null && typeof old !== "function") {\n const data = {\n id: obj._id\n };\n data[prop] = prop === "value" ? obj._getValue() : obj[prop];\n if (!obj._siblings) {\n obj._send(data);\n } else {\n data.siblings = obj._siblings;\n obj._send(data);\n }\n }\n } else {\n obj._expandos[prop] = value;\n }\n return true;\n }\n has(obj, prop) {\n return prop in obj._expandos || typeof prop === "string" && !prop.startsWith("_") && prop in obj;\n }\n getPrototypeOf(obj) {\n return null;\n }\n setPrototypeOf(obj, proto) {\n return false;\n }\n isExtensible(obj) {\n return true;\n }\n preventExtensions(obj) {\n return false;\n }\n getOwnPropertyDescriptor(obj, prop) {\n if (prop in obj._expandos) {\n return {\n configurable: true,\n enumerable: true,\n value: obj._expandos[prop]\n };\n }\n if (typeof prop === "string" && !prop.startsWith("_") && prop in obj) {\n return {\n configurable: true,\n enumerable: true,\n value: obj[prop]\n };\n }\n return undefined;\n }\n defineProperty(obj, key, descriptor) {\n Object.defineProperty(obj._expandos, key, descriptor);\n return true;\n }\n deleteProperty(obj, prop) {\n if (prop in obj._expandos) {\n delete obj._expandos[prop];\n }\n }\n ownKeys(obj) {\n const fromExpandos = Reflect.ownKeys(obj._expandos);\n const fromObj = Reflect.ownKeys(obj).filter(k => !k.startsWith("_"));\n return fromExpandos.concat(fromObj);\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/util.js\n\nclass Util extends PDFObject {\n constructor(data) {\n super(data);\n this._scandCache = new Map();\n this._months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];\n this._days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];\n this.MILLISECONDS_IN_DAY = 86400000;\n this.MILLISECONDS_IN_WEEK = 604800000;\n this._externalCall = data.externalCall;\n }\n printf(...args) {\n if (args.length === 0) {\n throw new Error("Invalid number of params in printf");\n }\n if (typeof args[0] !== "string") {\n throw new TypeError("First argument of printf must be a string");\n }\n const pattern = /%(,[0-4])?([+ 0#]+)?(\\d+)?(\\.\\d+)?(.)/g;\n const PLUS = 1;\n const SPACE = 2;\n const ZERO = 4;\n const HASH = 8;\n let i = 0;\n return args[0].replaceAll(pattern, function (match, nDecSep, cFlags, nWidth, nPrecision, cConvChar) {\n if (cConvChar !== "d" && cConvChar !== "f" && cConvChar !== "s" && cConvChar !== "x") {\n const buf = ["%"];\n for (const str of [nDecSep, cFlags, nWidth, nPrecision, cConvChar]) {\n if (str) {\n buf.push(str);\n }\n }\n return buf.join("");\n }\n i++;\n if (i === args.length) {\n throw new Error("Not enough arguments in printf");\n }\n const arg = args[i];\n if (cConvChar === "s") {\n return arg.toString();\n }\n let flags = 0;\n if (cFlags) {\n for (const flag of cFlags) {\n switch (flag) {\n case "+":\n flags |= PLUS;\n break;\n case " ":\n flags |= SPACE;\n break;\n case "0":\n flags |= ZERO;\n break;\n case "#":\n flags |= HASH;\n break;\n }\n }\n }\n cFlags = flags;\n if (nWidth) {\n nWidth = parseInt(nWidth);\n }\n let intPart = Math.trunc(arg);\n if (cConvChar === "x") {\n let hex = Math.abs(intPart).toString(16).toUpperCase();\n if (nWidth !== undefined) {\n hex = hex.padStart(nWidth, cFlags & ZERO ? "0" : " ");\n }\n if (cFlags & HASH) {\n hex = `0x${hex}`;\n }\n return hex;\n }\n if (nPrecision) {\n nPrecision = parseInt(nPrecision.substring(1));\n }\n nDecSep = nDecSep ? nDecSep.substring(1) : "0";\n const separators = {\n 0: [",", "."],\n 1: ["", "."],\n 2: [".", ","],\n 3: ["", ","],\n 4: ["\'", "."]\n };\n const [thousandSep, decimalSep] = separators[nDecSep];\n let decPart = "";\n if (cConvChar === "f") {\n decPart = nPrecision !== undefined ? Math.abs(arg - intPart).toFixed(nPrecision) : Math.abs(arg - intPart).toString();\n if (decPart.length > 2) {\n decPart = `${decimalSep}${decPart.substring(2)}`;\n } else {\n if (decPart === "1") {\n intPart += Math.sign(arg);\n }\n decPart = cFlags & HASH ? "." : "";\n }\n }\n let sign = "";\n if (intPart < 0) {\n sign = "-";\n intPart = -intPart;\n } else if (cFlags & PLUS) {\n sign = "+";\n } else if (cFlags & SPACE) {\n sign = " ";\n }\n if (thousandSep && intPart >= 1000) {\n const buf = [];\n while (true) {\n buf.push((intPart % 1000).toString().padStart(3, "0"));\n intPart = Math.trunc(intPart / 1000);\n if (intPart < 1000) {\n buf.push(intPart.toString());\n break;\n }\n }\n intPart = buf.reverse().join(thousandSep);\n } else {\n intPart = intPart.toString();\n }\n let n = `${intPart}${decPart}`;\n if (nWidth !== undefined) {\n n = n.padStart(nWidth - sign.length, cFlags & ZERO ? "0" : " ");\n }\n return `${sign}${n}`;\n });\n }\n iconStreamFromIcon() {}\n printd(cFormat, oDate) {\n switch (cFormat) {\n case 0:\n return this.printd("D:yyyymmddHHMMss", oDate);\n case 1:\n return this.printd("yyyy.mm.dd HH:MM:ss", oDate);\n case 2:\n return this.printd("m/d/yy h:MM:ss tt", oDate);\n }\n const handlers = {\n mmmm: data => {\n return this._months[data.month];\n },\n mmm: data => {\n return this._months[data.month].substring(0, 3);\n },\n mm: data => {\n return (data.month + 1).toString().padStart(2, "0");\n },\n m: data => {\n return (data.month + 1).toString();\n },\n dddd: data => {\n return this._days[data.dayOfWeek];\n },\n ddd: data => {\n return this._days[data.dayOfWeek].substring(0, 3);\n },\n dd: data => {\n return data.day.toString().padStart(2, "0");\n },\n d: data => {\n return data.day.toString();\n },\n yyyy: data => {\n return data.year.toString();\n },\n yy: data => {\n return (data.year % 100).toString().padStart(2, "0");\n },\n HH: data => {\n return data.hours.toString().padStart(2, "0");\n },\n H: data => {\n return data.hours.toString();\n },\n hh: data => {\n return (1 + (data.hours + 11) % 12).toString().padStart(2, "0");\n },\n h: data => {\n return (1 + (data.hours + 11) % 12).toString();\n },\n MM: data => {\n return data.minutes.toString().padStart(2, "0");\n },\n M: data => {\n return data.minutes.toString();\n },\n ss: data => {\n return data.seconds.toString().padStart(2, "0");\n },\n s: data => {\n return data.seconds.toString();\n },\n tt: data => {\n return data.hours < 12 ? "am" : "pm";\n },\n t: data => {\n return data.hours < 12 ? "a" : "p";\n }\n };\n const data = {\n year: oDate.getFullYear(),\n month: oDate.getMonth(),\n day: oDate.getDate(),\n dayOfWeek: oDate.getDay(),\n hours: oDate.getHours(),\n minutes: oDate.getMinutes(),\n seconds: oDate.getSeconds()\n };\n const patterns = /(mmmm|mmm|mm|m|dddd|ddd|dd|d|yyyy|yy|HH|H|hh|h|MM|M|ss|s|tt|t|\\\\.)/g;\n return cFormat.replaceAll(patterns, function (match, pattern) {\n if (pattern in handlers) {\n return handlers[pattern](data);\n }\n return pattern.charCodeAt(1);\n });\n }\n printx(cFormat, cSource) {\n cSource = (cSource ?? "").toString();\n const handlers = [x => x, x => x.toUpperCase(), x => x.toLowerCase()];\n const buf = [];\n let i = 0;\n const ii = cSource.length;\n let currCase = handlers[0];\n let escaped = false;\n for (const command of cFormat) {\n if (escaped) {\n buf.push(command);\n escaped = false;\n continue;\n }\n if (i >= ii) {\n break;\n }\n switch (command) {\n case "?":\n buf.push(currCase(cSource.charAt(i++)));\n break;\n case "X":\n while (i < ii) {\n const char = cSource.charAt(i++);\n if ("a" <= char && char <= "z" || "A" <= char && char <= "Z" || "0" <= char && char <= "9") {\n buf.push(currCase(char));\n break;\n }\n }\n break;\n case "A":\n while (i < ii) {\n const char = cSource.charAt(i++);\n if ("a" <= char && char <= "z" || "A" <= char && char <= "Z") {\n buf.push(currCase(char));\n break;\n }\n }\n break;\n case "9":\n while (i < ii) {\n const char = cSource.charAt(i++);\n if ("0" <= char && char <= "9") {\n buf.push(char);\n break;\n }\n }\n break;\n case "*":\n while (i < ii) {\n buf.push(currCase(cSource.charAt(i++)));\n }\n break;\n case "\\\\":\n escaped = true;\n break;\n case ">":\n currCase = handlers[1];\n break;\n case "<":\n currCase = handlers[2];\n break;\n case "=":\n currCase = handlers[0];\n break;\n default:\n buf.push(command);\n }\n }\n return buf.join("");\n }\n scand(cFormat, cDate) {\n if (typeof cDate !== "string") {\n return new Date(cDate);\n }\n if (cDate === "") {\n return new Date();\n }\n switch (cFormat) {\n case 0:\n return this.scand("D:yyyymmddHHMMss", cDate);\n case 1:\n return this.scand("yyyy.mm.dd HH:MM:ss", cDate);\n case 2:\n return this.scand("m/d/yy h:MM:ss tt", cDate);\n }\n if (!this._scandCache.has(cFormat)) {\n const months = this._months;\n const days = this._days;\n const handlers = {\n mmmm: {\n pattern: `(${months.join("|")})`,\n action: (value, data) => {\n data.month = months.indexOf(value);\n }\n },\n mmm: {\n pattern: `(${months.map(month => month.substring(0, 3)).join("|")})`,\n action: (value, data) => {\n data.month = months.findIndex(month => month.substring(0, 3) === value);\n }\n },\n mm: {\n pattern: `(\\\\d{2})`,\n action: (value, data) => {\n data.month = parseInt(value) - 1;\n }\n },\n m: {\n pattern: `(\\\\d{1,2})`,\n action: (value, data) => {\n data.month = parseInt(value) - 1;\n }\n },\n dddd: {\n pattern: `(${days.join("|")})`,\n action: (value, data) => {\n data.day = days.indexOf(value);\n }\n },\n ddd: {\n pattern: `(${days.map(day => day.substring(0, 3)).join("|")})`,\n action: (value, data) => {\n data.day = days.findIndex(day => day.substring(0, 3) === value);\n }\n },\n dd: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.day = parseInt(value);\n }\n },\n d: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.day = parseInt(value);\n }\n },\n yyyy: {\n pattern: "(\\\\d{4})",\n action: (value, data) => {\n data.year = parseInt(value);\n }\n },\n yy: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.year = 2000 + parseInt(value);\n }\n },\n HH: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.hours = parseInt(value);\n }\n },\n H: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.hours = parseInt(value);\n }\n },\n hh: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.hours = parseInt(value);\n }\n },\n h: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.hours = parseInt(value);\n }\n },\n MM: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.minutes = parseInt(value);\n }\n },\n M: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.minutes = parseInt(value);\n }\n },\n ss: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.seconds = parseInt(value);\n }\n },\n s: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.seconds = parseInt(value);\n }\n },\n tt: {\n pattern: "([aApP][mM])",\n action: (value, data) => {\n const char = value.charAt(0);\n data.am = char === "a" || char === "A";\n }\n },\n t: {\n pattern: "([aApP])",\n action: (value, data) => {\n data.am = value === "a" || value === "A";\n }\n }\n };\n const escapedFormat = cFormat.replaceAll(/[.*+\\-?^${}()|[\\]\\\\]/g, "\\\\$&");\n const patterns = /(mmmm|mmm|mm|m|dddd|ddd|dd|d|yyyy|yy|HH|H|hh|h|MM|M|ss|s|tt|t)/g;\n const actions = [];\n const re = escapedFormat.replaceAll(patterns, function (match, patternElement) {\n const {\n pattern,\n action\n } = handlers[patternElement];\n actions.push(action);\n return pattern;\n });\n this._scandCache.set(cFormat, [re, actions]);\n }\n const [re, actions] = this._scandCache.get(cFormat);\n const matches = new RegExp(`^${re}$`, "g").exec(cDate);\n if (!matches || matches.length !== actions.length + 1) {\n return null;\n }\n const data = {\n year: 2000,\n month: 0,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n am: null\n };\n actions.forEach((action, i) => action(matches[i + 1], data));\n if (data.am !== null) {\n data.hours = data.hours % 12 + (data.am ? 0 : 12);\n }\n return new Date(data.year, data.month, data.day, data.hours, data.minutes, data.seconds);\n }\n spansToXML() {}\n stringFromStream() {}\n xmlToSpans() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/initialization.js\n\n\n\n\n\n\n\n\n\n\nfunction initSandbox(params) {\n delete globalThis.pdfjsScripting;\n const externalCall = globalThis.callExternalFunction;\n delete globalThis.callExternalFunction;\n const globalEval = code => globalThis.eval(code);\n const send = data => externalCall("send", [data]);\n const proxyHandler = new ProxyHandler();\n const {\n data\n } = params;\n const doc = new Doc({\n send,\n globalEval,\n ...data.docInfo\n });\n const _document = {\n obj: doc,\n wrapped: new Proxy(doc, proxyHandler)\n };\n const app = new App({\n send,\n globalEval,\n externalCall,\n _document,\n calculationOrder: data.calculationOrder,\n proxyHandler,\n ...data.appInfo\n });\n const util = new Util({\n externalCall\n });\n const appObjects = app._objects;\n if (data.objects) {\n const annotations = [];\n for (const [name, objs] of Object.entries(data.objects)) {\n annotations.length = 0;\n let container = null;\n for (const obj of objs) {\n if (obj.type !== "") {\n annotations.push(obj);\n } else {\n container = obj;\n }\n }\n let obj = container;\n if (annotations.length > 0) {\n obj = annotations[0];\n obj.send = send;\n }\n obj.globalEval = globalEval;\n obj.doc = _document;\n obj.fieldPath = name;\n obj.appObjects = appObjects;\n let field;\n switch (obj.type) {\n case "radiobutton":\n {\n const otherButtons = annotations.slice(1);\n field = new RadioButtonField(otherButtons, obj);\n break;\n }\n case "checkbox":\n {\n const otherButtons = annotations.slice(1);\n field = new CheckboxField(otherButtons, obj);\n break;\n }\n case "text":\n if (annotations.length <= 1) {\n field = new Field(obj);\n break;\n }\n obj.siblings = annotations.map(x => x.id).slice(1);\n field = new Field(obj);\n break;\n default:\n field = new Field(obj);\n }\n const wrapped = new Proxy(field, proxyHandler);\n const _object = {\n obj: field,\n wrapped\n };\n doc._addField(name, _object);\n for (const object of objs) {\n appObjects[object.id] = _object;\n }\n if (container) {\n appObjects[container.id] = _object;\n }\n }\n }\n const color = new Color();\n globalThis.event = null;\n globalThis.global = Object.create(null);\n globalThis.app = new Proxy(app, proxyHandler);\n globalThis.color = new Proxy(color, proxyHandler);\n globalThis.console = new Proxy(new Console({\n send\n }), proxyHandler);\n globalThis.util = new Proxy(util, proxyHandler);\n globalThis.border = Border;\n globalThis.cursor = Cursor;\n globalThis.display = Display;\n globalThis.font = Font;\n globalThis.highlight = Highlight;\n globalThis.position = Position;\n globalThis.scaleHow = ScaleHow;\n globalThis.scaleWhen = ScaleWhen;\n globalThis.style = Style;\n globalThis.trans = Trans;\n globalThis.zoomtype = ZoomType;\n globalThis.ADBE = {\n Reader_Value_Asked: true,\n Viewer_Value_Asked: true\n };\n const aform = new AForm(doc, app, util, color);\n for (const name of Object.getOwnPropertyNames(AForm.prototype)) {\n if (name !== "constructor" && !name.startsWith("_")) {\n globalThis[name] = aform[name].bind(aform);\n }\n }\n for (const [name, value] of Object.entries(GlobalConstants)) {\n Object.defineProperty(globalThis, name, {\n value,\n writable: false\n });\n }\n Object.defineProperties(globalThis, {\n ColorConvert: {\n value: color.convert.bind(color),\n writable: true\n },\n ColorEqual: {\n value: color.equal.bind(color),\n writable: true\n }\n });\n const properties = Object.create(null);\n for (const name of Object.getOwnPropertyNames(Doc.prototype)) {\n if (name === "constructor" || name.startsWith("_")) {\n continue;\n }\n const descriptor = Object.getOwnPropertyDescriptor(Doc.prototype, name);\n if (descriptor.get) {\n properties[name] = {\n get: descriptor.get.bind(doc),\n set: descriptor.set.bind(doc)\n };\n } else {\n properties[name] = {\n value: Doc.prototype[name].bind(doc)\n };\n }\n }\n Object.defineProperties(globalThis, properties);\n const functions = {\n dispatchEvent: app._dispatchEvent.bind(app),\n timeoutCb: app._evalCallback.bind(app)\n };\n return (name, args) => {\n try {\n functions[name](args);\n } catch (error) {\n send(serializeError(error));\n }\n };\n}\n\n;// CONCATENATED MODULE: ./src/pdf.scripting.js\n\nconst pdfjsVersion = \'4.0.385\';\nconst pdfjsBuild = \'af3f8cc66\';\nglobalThis.pdfjsScripting = {\n initSandbox: initSandbox\n};\n']; + const code = ['var __webpack_exports__ = globalThis.pdfjsSandbox = {};\n\n;// CONCATENATED MODULE: ./src/scripting_api/constants.js\nconst Border = Object.freeze({\n s: "solid",\n d: "dashed",\n b: "beveled",\n i: "inset",\n u: "underline"\n});\nconst Cursor = Object.freeze({\n visible: 0,\n hidden: 1,\n delay: 2\n});\nconst Display = Object.freeze({\n visible: 0,\n hidden: 1,\n noPrint: 2,\n noView: 3\n});\nconst Font = Object.freeze({\n Times: "Times-Roman",\n TimesB: "Times-Bold",\n TimesI: "Times-Italic",\n TimesBI: "Times-BoldItalic",\n Helv: "Helvetica",\n HelvB: "Helvetica-Bold",\n HelvI: "Helvetica-Oblique",\n HelvBI: "Helvetica-BoldOblique",\n Cour: "Courier",\n CourB: "Courier-Bold",\n CourI: "Courier-Oblique",\n CourBI: "Courier-BoldOblique",\n Symbol: "Symbol",\n ZapfD: "ZapfDingbats",\n KaGo: "HeiseiKakuGo-W5-UniJIS-UCS2-H",\n KaMi: "HeiseiMin-W3-UniJIS-UCS2-H"\n});\nconst Highlight = Object.freeze({\n n: "none",\n i: "invert",\n p: "push",\n o: "outline"\n});\nconst Position = Object.freeze({\n textOnly: 0,\n iconOnly: 1,\n iconTextV: 2,\n textIconV: 3,\n iconTextH: 4,\n textIconH: 5,\n overlay: 6\n});\nconst ScaleHow = Object.freeze({\n proportional: 0,\n anamorphic: 1\n});\nconst ScaleWhen = Object.freeze({\n always: 0,\n never: 1,\n tooBig: 2,\n tooSmall: 3\n});\nconst Style = Object.freeze({\n ch: "check",\n cr: "cross",\n di: "diamond",\n ci: "circle",\n st: "star",\n sq: "square"\n});\nconst Trans = Object.freeze({\n blindsH: "BlindsHorizontal",\n blindsV: "BlindsVertical",\n boxI: "BoxIn",\n boxO: "BoxOut",\n dissolve: "Dissolve",\n glitterD: "GlitterDown",\n glitterR: "GlitterRight",\n glitterRD: "GlitterRightDown",\n random: "Random",\n replace: "Replace",\n splitHI: "SplitHorizontalIn",\n splitHO: "SplitHorizontalOut",\n splitVI: "SplitVerticalIn",\n splitVO: "SplitVerticalOut",\n wipeD: "WipeDown",\n wipeL: "WipeLeft",\n wipeR: "WipeRight",\n wipeU: "WipeUp"\n});\nconst ZoomType = Object.freeze({\n none: "NoVary",\n fitP: "FitPage",\n fitW: "FitWidth",\n fitH: "FitHeight",\n fitV: "FitVisibleWidth",\n pref: "Preferred",\n refW: "ReflowWidth"\n});\nconst GlobalConstants = Object.freeze({\n IDS_GREATER_THAN: "Invalid value: must be greater than or equal to % s.",\n IDS_GT_AND_LT: "Invalid value: must be greater than or equal to % s " + "and less than or equal to % s.",\n IDS_LESS_THAN: "Invalid value: must be less than or equal to % s.",\n IDS_INVALID_MONTH: "** Invalid **",\n IDS_INVALID_DATE: "Invalid date / time: please ensure that the date / time exists.Field",\n IDS_INVALID_DATE2: " should match format ",\n IDS_INVALID_VALUE: "The value entered does not match the format of the field",\n IDS_AM: "am",\n IDS_PM: "pm",\n IDS_MONTH_INFO: "January[1] February[2] March[3] April[4] May[5] " + "June[6] July[7] August[8] September[9] October[10] " + "November[11] December[12] Sept[9] Jan[1] Feb[2] Mar[3] " + "Apr[4] Jun[6] Jul[7] Aug[8] Sep[9] Oct[10] Nov[11] Dec[12]",\n IDS_STARTUP_CONSOLE_MSG: "** ^ _ ^ **",\n RE_NUMBER_ENTRY_DOT_SEP: ["[+-]?\\\\d*\\\\.?\\\\d*"],\n RE_NUMBER_COMMIT_DOT_SEP: ["[+-]?\\\\d+(\\\\.\\\\d+)?", "[+-]?\\\\.\\\\d+", "[+-]?\\\\d+\\\\."],\n RE_NUMBER_ENTRY_COMMA_SEP: ["[+-]?\\\\d*,?\\\\d*"],\n RE_NUMBER_COMMIT_COMMA_SEP: ["[+-]?\\\\d+([.,]\\\\d+)?", "[+-]?[.,]\\\\d+", "[+-]?\\\\d+[.,]"],\n RE_ZIP_ENTRY: ["\\\\d{0,5}"],\n RE_ZIP_COMMIT: ["\\\\d{5}"],\n RE_ZIP4_ENTRY: ["\\\\d{0,5}(\\\\.|[- ])?\\\\d{0,4}"],\n RE_ZIP4_COMMIT: ["\\\\d{5}(\\\\.|[- ])?\\\\d{4}"],\n RE_PHONE_ENTRY: ["\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}", "\\\\(\\\\d{0,3}", "\\\\(\\\\d{0,3}\\\\)(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}", "\\\\(\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}", "\\\\d{0,3}\\\\)(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}", "011(\\\\.|[- \\\\d])*"],\n RE_PHONE_COMMIT: ["\\\\d{3}(\\\\.|[- ])?\\\\d{4}", "\\\\d{3}(\\\\.|[- ])?\\\\d{3}(\\\\.|[- ])?\\\\d{4}", "\\\\(\\\\d{3}\\\\)(\\\\.|[- ])?\\\\d{3}(\\\\.|[- ])?\\\\d{4}", "011(\\\\.|[- \\\\d])*"],\n RE_SSN_ENTRY: ["\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,2}(\\\\.|[- ])?\\\\d{0,4}"],\n RE_SSN_COMMIT: ["\\\\d{3}(\\\\.|[- ])?\\\\d{2}(\\\\.|[- ])?\\\\d{4}"]\n});\n\n;// CONCATENATED MODULE: ./src/scripting_api/common.js\nconst FieldType = {\n none: 0,\n number: 1,\n percent: 2,\n date: 3,\n time: 4\n};\nfunction createActionsMap(actions) {\n const actionsMap = new Map();\n if (actions) {\n for (const [eventType, actionsForEvent] of Object.entries(actions)) {\n actionsMap.set(eventType, actionsForEvent);\n }\n }\n return actionsMap;\n}\nfunction getFieldType(actions) {\n let format = actions.get("Format");\n if (!format) {\n return FieldType.none;\n }\n format = format[0];\n format = format.trim();\n if (format.startsWith("AFNumber_")) {\n return FieldType.number;\n }\n if (format.startsWith("AFPercent_")) {\n return FieldType.percent;\n }\n if (format.startsWith("AFDate_")) {\n return FieldType.date;\n }\n if (format.startsWith("AFTime_")) {\n return FieldType.time;\n }\n return FieldType.none;\n}\n\n;// CONCATENATED MODULE: ./src/shared/scripting_utils.js\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0");\n}\nfunction scaleAndClamp(x) {\n return Math.max(0, Math.min(255, 255 * x));\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return ["CMYK", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return ["RGB", g, g, g];\n }\n static G_rgb([g]) {\n g = scaleAndClamp(g);\n return [g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return ["G", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_rgb(color) {\n return color.map(scaleAndClamp);\n }\n static RGB_HTML(color) {\n return `#${color.map(makeColorComp).join("")}`;\n }\n static T_HTML() {\n return "#00000000";\n }\n static T_rgb() {\n return [null];\n }\n static CMYK_RGB([c, y, m, k]) {\n return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_rgb([c, y, m, k]) {\n return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return ["CMYK", c, m, y, k];\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/pdf_object.js\nclass PDFObject {\n constructor(data) {\n this._expandos = Object.create(null);\n this._send = data.send || null;\n this._id = data.id || null;\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/color.js\n\n\nclass Color extends PDFObject {\n constructor() {\n super({});\n this.transparent = ["T"];\n this.black = ["G", 0];\n this.white = ["G", 1];\n this.red = ["RGB", 1, 0, 0];\n this.green = ["RGB", 0, 1, 0];\n this.blue = ["RGB", 0, 0, 1];\n this.cyan = ["CMYK", 1, 0, 0, 0];\n this.magenta = ["CMYK", 0, 1, 0, 0];\n this.yellow = ["CMYK", 0, 0, 1, 0];\n this.dkGray = ["G", 0.25];\n this.gray = ["G", 0.5];\n this.ltGray = ["G", 0.75];\n }\n static _isValidSpace(cColorSpace) {\n return typeof cColorSpace === "string" && (cColorSpace === "T" || cColorSpace === "G" || cColorSpace === "RGB" || cColorSpace === "CMYK");\n }\n static _isValidColor(colorArray) {\n if (!Array.isArray(colorArray) || colorArray.length === 0) {\n return false;\n }\n const space = colorArray[0];\n if (!Color._isValidSpace(space)) {\n return false;\n }\n switch (space) {\n case "T":\n if (colorArray.length !== 1) {\n return false;\n }\n break;\n case "G":\n if (colorArray.length !== 2) {\n return false;\n }\n break;\n case "RGB":\n if (colorArray.length !== 4) {\n return false;\n }\n break;\n case "CMYK":\n if (colorArray.length !== 5) {\n return false;\n }\n break;\n default:\n return false;\n }\n return colorArray.slice(1).every(c => typeof c === "number" && c >= 0 && c <= 1);\n }\n static _getCorrectColor(colorArray) {\n return Color._isValidColor(colorArray) ? colorArray : ["G", 0];\n }\n convert(colorArray, cColorSpace) {\n if (!Color._isValidSpace(cColorSpace)) {\n return this.black;\n }\n if (cColorSpace === "T") {\n return ["T"];\n }\n colorArray = Color._getCorrectColor(colorArray);\n if (colorArray[0] === cColorSpace) {\n return colorArray;\n }\n if (colorArray[0] === "T") {\n return this.convert(this.black, cColorSpace);\n }\n return ColorConverters[`${colorArray[0]}_${cColorSpace}`](colorArray.slice(1));\n }\n equal(colorArray1, colorArray2) {\n colorArray1 = Color._getCorrectColor(colorArray1);\n colorArray2 = Color._getCorrectColor(colorArray2);\n if (colorArray1[0] === "T" || colorArray2[0] === "T") {\n return colorArray1[0] === "T" && colorArray2[0] === "T";\n }\n if (colorArray1[0] !== colorArray2[0]) {\n colorArray2 = this.convert(colorArray2, colorArray1[0]);\n }\n return colorArray1.slice(1).every((c, i) => c === colorArray2[i + 1]);\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/field.js\n\n\n\nclass Field extends PDFObject {\n constructor(data) {\n super(data);\n this.alignment = data.alignment || "left";\n this.borderStyle = data.borderStyle || "";\n this.buttonAlignX = data.buttonAlignX || 50;\n this.buttonAlignY = data.buttonAlignY || 50;\n this.buttonFitBounds = data.buttonFitBounds;\n this.buttonPosition = data.buttonPosition;\n this.buttonScaleHow = data.buttonScaleHow;\n this.ButtonScaleWhen = data.buttonScaleWhen;\n this.calcOrderIndex = data.calcOrderIndex;\n this.comb = data.comb;\n this.commitOnSelChange = data.commitOnSelChange;\n this.currentValueIndices = data.currentValueIndices;\n this.defaultStyle = data.defaultStyle;\n this.defaultValue = data.defaultValue;\n this.doNotScroll = data.doNotScroll;\n this.doNotSpellCheck = data.doNotSpellCheck;\n this.delay = data.delay;\n this.display = data.display;\n this.doc = data.doc.wrapped;\n this.editable = data.editable;\n this.exportValues = data.exportValues;\n this.fileSelect = data.fileSelect;\n this.hidden = data.hidden;\n this.highlight = data.highlight;\n this.lineWidth = data.lineWidth;\n this.multiline = data.multiline;\n this.multipleSelection = !!data.multipleSelection;\n this.name = data.name;\n this.password = data.password;\n this.print = data.print;\n this.radiosInUnison = data.radiosInUnison;\n this.readonly = data.readonly;\n this.rect = data.rect;\n this.required = data.required;\n this.richText = data.richText;\n this.richValue = data.richValue;\n this.style = data.style;\n this.submitName = data.submitName;\n this.textFont = data.textFont;\n this.textSize = data.textSize;\n this.type = data.type;\n this.userName = data.userName;\n this._actions = createActionsMap(data.actions);\n this._browseForFileToSubmit = data.browseForFileToSubmit || null;\n this._buttonCaption = null;\n this._buttonIcon = null;\n this._charLimit = data.charLimit;\n this._children = null;\n this._currentValueIndices = data.currentValueIndices || 0;\n this._document = data.doc;\n this._fieldPath = data.fieldPath;\n this._fillColor = data.fillColor || ["T"];\n this._isChoice = Array.isArray(data.items);\n this._items = data.items || [];\n this._hasValue = data.hasOwnProperty("value");\n this._page = data.page || 0;\n this._strokeColor = data.strokeColor || ["G", 0];\n this._textColor = data.textColor || ["G", 0];\n this._value = null;\n this._kidIds = data.kidIds || null;\n this._fieldType = getFieldType(this._actions);\n this._siblings = data.siblings || null;\n this._rotation = data.rotation || 0;\n this._globalEval = data.globalEval;\n this._appObjects = data.appObjects;\n this.value = data.value || "";\n }\n get currentValueIndices() {\n if (!this._isChoice) {\n return 0;\n }\n return this._currentValueIndices;\n }\n set currentValueIndices(indices) {\n if (!this._isChoice) {\n return;\n }\n if (!Array.isArray(indices)) {\n indices = [indices];\n }\n if (!indices.every(i => typeof i === "number" && Number.isInteger(i) && i >= 0 && i < this.numItems)) {\n return;\n }\n indices.sort();\n if (this.multipleSelection) {\n this._currentValueIndices = indices;\n this._value = [];\n indices.forEach(i => {\n this._value.push(this._items[i].displayValue);\n });\n } else if (indices.length > 0) {\n indices = indices.splice(1, indices.length - 1);\n this._currentValueIndices = indices[0];\n this._value = this._items[this._currentValueIndices];\n }\n this._send({\n id: this._id,\n indices\n });\n }\n get fillColor() {\n return this._fillColor;\n }\n set fillColor(color) {\n if (Color._isValidColor(color)) {\n this._fillColor = color;\n }\n }\n get bgColor() {\n return this.fillColor;\n }\n set bgColor(color) {\n this.fillColor = color;\n }\n get charLimit() {\n return this._charLimit;\n }\n set charLimit(limit) {\n if (typeof limit !== "number") {\n throw new Error("Invalid argument value");\n }\n this._charLimit = Math.max(0, Math.floor(limit));\n }\n get numItems() {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n return this._items.length;\n }\n set numItems(_) {\n throw new Error("field.numItems is read-only");\n }\n get strokeColor() {\n return this._strokeColor;\n }\n set strokeColor(color) {\n if (Color._isValidColor(color)) {\n this._strokeColor = color;\n }\n }\n get borderColor() {\n return this.strokeColor;\n }\n set borderColor(color) {\n this.strokeColor = color;\n }\n get page() {\n return this._page;\n }\n set page(_) {\n throw new Error("field.page is read-only");\n }\n get rotation() {\n return this._rotation;\n }\n set rotation(angle) {\n angle = Math.floor(angle);\n if (angle % 90 !== 0) {\n throw new Error("Invalid rotation: must be a multiple of 90");\n }\n angle %= 360;\n if (angle < 0) {\n angle += 360;\n }\n this._rotation = angle;\n }\n get textColor() {\n return this._textColor;\n }\n set textColor(color) {\n if (Color._isValidColor(color)) {\n this._textColor = color;\n }\n }\n get fgColor() {\n return this.textColor;\n }\n set fgColor(color) {\n this.textColor = color;\n }\n get value() {\n return this._value;\n }\n set value(value) {\n if (this._isChoice) {\n this._setChoiceValue(value);\n return;\n }\n if (value === "" || typeof value !== "string" || this._fieldType >= FieldType.date) {\n this._originalValue = undefined;\n this._value = value;\n return;\n }\n this._originalValue = value;\n const _value = value.trim().replace(",", ".");\n this._value = !isNaN(_value) ? parseFloat(_value) : value;\n }\n _getValue() {\n return this._originalValue ?? this.value;\n }\n _setChoiceValue(value) {\n if (this.multipleSelection) {\n if (!Array.isArray(value)) {\n value = [value];\n }\n const values = new Set(value);\n if (Array.isArray(this._currentValueIndices)) {\n this._currentValueIndices.length = 0;\n this._value.length = 0;\n } else {\n this._currentValueIndices = [];\n this._value = [];\n }\n this._items.forEach((item, i) => {\n if (values.has(item.exportValue)) {\n this._currentValueIndices.push(i);\n this._value.push(item.exportValue);\n }\n });\n } else {\n if (Array.isArray(value)) {\n value = value[0];\n }\n const index = this._items.findIndex(({\n exportValue\n }) => value === exportValue);\n if (index !== -1) {\n this._currentValueIndices = index;\n this._value = this._items[index].exportValue;\n }\n }\n }\n get valueAsString() {\n return (this._value ?? "").toString();\n }\n set valueAsString(_) {}\n browseForFileToSubmit() {\n if (this._browseForFileToSubmit) {\n this._browseForFileToSubmit();\n }\n }\n buttonGetCaption(nFace = 0) {\n if (this._buttonCaption) {\n return this._buttonCaption[nFace];\n }\n return "";\n }\n buttonGetIcon(nFace = 0) {\n if (this._buttonIcon) {\n return this._buttonIcon[nFace];\n }\n return null;\n }\n buttonImportIcon(cPath = null, nPave = 0) {}\n buttonSetCaption(cCaption, nFace = 0) {\n if (!this._buttonCaption) {\n this._buttonCaption = ["", "", ""];\n }\n this._buttonCaption[nFace] = cCaption;\n }\n buttonSetIcon(oIcon, nFace = 0) {\n if (!this._buttonIcon) {\n this._buttonIcon = [null, null, null];\n }\n this._buttonIcon[nFace] = oIcon;\n }\n checkThisBox(nWidget, bCheckIt = true) {}\n clearItems() {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n this._items = [];\n this._send({\n id: this._id,\n clear: null\n });\n }\n deleteItemAt(nIdx = null) {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n if (!this.numItems) {\n return;\n }\n if (nIdx === null) {\n nIdx = Array.isArray(this._currentValueIndices) ? this._currentValueIndices[0] : this._currentValueIndices;\n nIdx ||= 0;\n }\n if (nIdx < 0 || nIdx >= this.numItems) {\n nIdx = this.numItems - 1;\n }\n this._items.splice(nIdx, 1);\n if (Array.isArray(this._currentValueIndices)) {\n let index = this._currentValueIndices.findIndex(i => i >= nIdx);\n if (index !== -1) {\n if (this._currentValueIndices[index] === nIdx) {\n this._currentValueIndices.splice(index, 1);\n }\n for (const ii = this._currentValueIndices.length; index < ii; index++) {\n --this._currentValueIndices[index];\n }\n }\n } else if (this._currentValueIndices === nIdx) {\n this._currentValueIndices = this.numItems > 0 ? 0 : -1;\n } else if (this._currentValueIndices > nIdx) {\n --this._currentValueIndices;\n }\n this._send({\n id: this._id,\n remove: nIdx\n });\n }\n getItemAt(nIdx = -1, bExportValue = false) {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n if (nIdx < 0 || nIdx >= this.numItems) {\n nIdx = this.numItems - 1;\n }\n const item = this._items[nIdx];\n return bExportValue ? item.exportValue : item.displayValue;\n }\n getArray() {\n if (this._kidIds) {\n const array = [];\n const fillArrayWithKids = kidIds => {\n for (const id of kidIds) {\n const obj = this._appObjects[id];\n if (!obj) {\n continue;\n }\n if (obj.obj._hasValue) {\n array.push(obj.wrapped);\n }\n if (obj.obj._kidIds) {\n fillArrayWithKids(obj.obj._kidIds);\n }\n }\n };\n fillArrayWithKids(this._kidIds);\n return array;\n }\n if (this._children === null) {\n this._children = this._document.obj._getTerminalChildren(this._fieldPath);\n }\n return this._children;\n }\n getLock() {\n return undefined;\n }\n isBoxChecked(nWidget) {\n return false;\n }\n isDefaultChecked(nWidget) {\n return false;\n }\n insertItemAt(cName, cExport = undefined, nIdx = 0) {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n if (!cName) {\n return;\n }\n if (nIdx < 0 || nIdx > this.numItems) {\n nIdx = this.numItems;\n }\n if (this._items.some(({\n displayValue\n }) => displayValue === cName)) {\n return;\n }\n if (cExport === undefined) {\n cExport = cName;\n }\n const data = {\n displayValue: cName,\n exportValue: cExport\n };\n this._items.splice(nIdx, 0, data);\n if (Array.isArray(this._currentValueIndices)) {\n let index = this._currentValueIndices.findIndex(i => i >= nIdx);\n if (index !== -1) {\n for (const ii = this._currentValueIndices.length; index < ii; index++) {\n ++this._currentValueIndices[index];\n }\n }\n } else if (this._currentValueIndices >= nIdx) {\n ++this._currentValueIndices;\n }\n this._send({\n id: this._id,\n insert: {\n index: nIdx,\n ...data\n }\n });\n }\n setAction(cTrigger, cScript) {\n if (typeof cTrigger !== "string" || typeof cScript !== "string") {\n return;\n }\n if (!(cTrigger in this._actions)) {\n this._actions[cTrigger] = [];\n }\n this._actions[cTrigger].push(cScript);\n }\n setFocus() {\n this._send({\n id: this._id,\n focus: true\n });\n }\n setItems(oArray) {\n if (!this._isChoice) {\n throw new Error("Not a choice widget");\n }\n this._items.length = 0;\n for (const element of oArray) {\n let displayValue, exportValue;\n if (Array.isArray(element)) {\n displayValue = element[0]?.toString() || "";\n exportValue = element[1]?.toString() || "";\n } else {\n displayValue = exportValue = element?.toString() || "";\n }\n this._items.push({\n displayValue,\n exportValue\n });\n }\n this._currentValueIndices = 0;\n this._send({\n id: this._id,\n items: this._items\n });\n }\n setLock() {}\n signatureGetModifications() {}\n signatureGetSeedValue() {}\n signatureInfo() {}\n signatureSetSeedValue() {}\n signatureSign() {}\n signatureValidate() {}\n _isButton() {\n return false;\n }\n _reset() {\n this.value = this.defaultValue;\n }\n _runActions(event) {\n const eventName = event.name;\n if (!this._actions.has(eventName)) {\n return false;\n }\n const actions = this._actions.get(eventName);\n try {\n for (const action of actions) {\n this._globalEval(action);\n }\n } catch (error) {\n event.rc = false;\n throw error;\n }\n return true;\n }\n}\nclass RadioButtonField extends Field {\n constructor(otherButtons, data) {\n super(data);\n this.exportValues = [this.exportValues];\n this._radioIds = [this._id];\n this._radioActions = [this._actions];\n for (const radioData of otherButtons) {\n this.exportValues.push(radioData.exportValues);\n this._radioIds.push(radioData.id);\n this._radioActions.push(createActionsMap(radioData.actions));\n if (this._value === radioData.exportValues) {\n this._id = radioData.id;\n }\n }\n this._hasBeenInitialized = true;\n this._value = data.value || "";\n }\n get value() {\n return this._value;\n }\n set value(value) {\n if (!this._hasBeenInitialized) {\n return;\n }\n if (value === null || value === undefined) {\n this._value = "";\n }\n const i = this.exportValues.indexOf(value);\n if (0 <= i && i < this._radioIds.length) {\n this._id = this._radioIds[i];\n this._value = value;\n } else if (value === "Off" && this._radioIds.length === 2) {\n const nextI = (1 + this._radioIds.indexOf(this._id)) % 2;\n this._id = this._radioIds[nextI];\n this._value = this.exportValues[nextI];\n }\n }\n checkThisBox(nWidget, bCheckIt = true) {\n if (nWidget < 0 || nWidget >= this._radioIds.length || !bCheckIt) {\n return;\n }\n this._id = this._radioIds[nWidget];\n this._value = this.exportValues[nWidget];\n this._send({\n id: this._id,\n value: this._value\n });\n }\n isBoxChecked(nWidget) {\n return nWidget >= 0 && nWidget < this._radioIds.length && this._id === this._radioIds[nWidget];\n }\n isDefaultChecked(nWidget) {\n return nWidget >= 0 && nWidget < this.exportValues.length && this.defaultValue === this.exportValues[nWidget];\n }\n _getExportValue(state) {\n const i = this._radioIds.indexOf(this._id);\n return this.exportValues[i];\n }\n _runActions(event) {\n const i = this._radioIds.indexOf(this._id);\n this._actions = this._radioActions[i];\n return super._runActions(event);\n }\n _isButton() {\n return true;\n }\n}\nclass CheckboxField extends RadioButtonField {\n get value() {\n return this._value;\n }\n set value(value) {\n if (!value || value === "Off") {\n this._value = "Off";\n } else {\n super.value = value;\n }\n }\n _getExportValue(state) {\n return state ? super._getExportValue(state) : "Off";\n }\n isBoxChecked(nWidget) {\n if (this._value === "Off") {\n return false;\n }\n return super.isBoxChecked(nWidget);\n }\n isDefaultChecked(nWidget) {\n if (this.defaultValue === "Off") {\n return this._value === "Off";\n }\n return super.isDefaultChecked(nWidget);\n }\n checkThisBox(nWidget, bCheckIt = true) {\n if (nWidget < 0 || nWidget >= this._radioIds.length) {\n return;\n }\n this._id = this._radioIds[nWidget];\n this._value = bCheckIt ? this.exportValues[nWidget] : "Off";\n this._send({\n id: this._id,\n value: this._value\n });\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/aform.js\n\nclass AForm {\n constructor(document, app, util, color) {\n this._document = document;\n this._app = app;\n this._util = util;\n this._color = color;\n this._dateFormats = ["m/d", "m/d/yy", "mm/dd/yy", "mm/yy", "d-mmm", "d-mmm-yy", "dd-mmm-yy", "yy-mm-dd", "mmm-yy", "mmmm-yy", "mmm d, yyyy", "mmmm d, yyyy", "m/d/yy h:MM tt", "m/d/yy HH:MM"];\n this._timeFormats = ["HH:MM", "h:MM tt", "HH:MM:ss", "h:MM:ss tt"];\n this._dateActionsCache = new Map();\n this._emailRegex = new RegExp("^[a-zA-Z0-9.!#$%&\'*+\\\\/=?^_`{|}~-]+" + "@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?" + "(?:\\\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$");\n }\n _mkTargetName(event) {\n return event.target ? `[ ${event.target.name} ]` : "";\n }\n _tryToGuessDate(cFormat, cDate) {\n let actions = this._dateActionsCache.get(cFormat);\n if (!actions) {\n actions = [];\n this._dateActionsCache.set(cFormat, actions);\n cFormat.replaceAll(/(d+)|(m+)|(y+)|(H+)|(M+)|(s+)/g, function (match, d, m, y, H, M, s) {\n if (d) {\n actions.push((n, date) => {\n if (n >= 1 && n <= 31) {\n date.setDate(n);\n return true;\n }\n return false;\n });\n } else if (m) {\n actions.push((n, date) => {\n if (n >= 1 && n <= 12) {\n date.setMonth(n - 1);\n return true;\n }\n return false;\n });\n } else if (y) {\n actions.push((n, date) => {\n if (n < 50) {\n n += 2000;\n } else if (n < 100) {\n n += 1900;\n }\n date.setYear(n);\n return true;\n });\n } else if (H) {\n actions.push((n, date) => {\n if (n >= 0 && n <= 23) {\n date.setHours(n);\n return true;\n }\n return false;\n });\n } else if (M) {\n actions.push((n, date) => {\n if (n >= 0 && n <= 59) {\n date.setMinutes(n);\n return true;\n }\n return false;\n });\n } else if (s) {\n actions.push((n, date) => {\n if (n >= 0 && n <= 59) {\n date.setSeconds(n);\n return true;\n }\n return false;\n });\n }\n return "";\n });\n }\n const number = /\\d+/g;\n let i = 0;\n let array;\n const date = new Date();\n while ((array = number.exec(cDate)) !== null) {\n if (i < actions.length) {\n if (!actions[i++](parseInt(array[0]), date)) {\n return null;\n }\n } else {\n break;\n }\n }\n if (i === 0) {\n return null;\n }\n return date;\n }\n _parseDate(cFormat, cDate) {\n let date = null;\n try {\n date = this._util.scand(cFormat, cDate);\n } catch {}\n if (!date) {\n date = Date.parse(cDate);\n date = isNaN(date) ? this._tryToGuessDate(cFormat, cDate) : new Date(date);\n }\n return date;\n }\n AFMergeChange(event = globalThis.event) {\n if (event.willCommit) {\n return event.value.toString();\n }\n return this._app._eventDispatcher.mergeChange(event);\n }\n AFParseDateEx(cString, cOrder) {\n return this._parseDate(cOrder, cString);\n }\n AFExtractNums(str) {\n if (typeof str === "number") {\n return [str];\n }\n if (!str || typeof str !== "string") {\n return null;\n }\n const first = str.charAt(0);\n if (first === "." || first === ",") {\n str = `0${str}`;\n }\n const numbers = str.match(/(\\d+)/g);\n if (numbers.length === 0) {\n return null;\n }\n return numbers;\n }\n AFMakeNumber(str) {\n if (typeof str === "number") {\n return str;\n }\n if (typeof str !== "string") {\n return null;\n }\n str = str.trim().replace(",", ".");\n const number = parseFloat(str);\n if (isNaN(number) || !isFinite(number)) {\n return null;\n }\n return number;\n }\n AFMakeArrayFromList(string) {\n if (typeof string === "string") {\n return string.split(/, ?/g);\n }\n return string;\n }\n AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, bCurrencyPrepend) {\n const event = globalThis.event;\n if (!event.value) {\n return;\n }\n let value = this.AFMakeNumber(event.value);\n if (value === null) {\n event.value = "";\n return;\n }\n const sign = Math.sign(value);\n const buf = [];\n let hasParen = false;\n if (sign === -1 && bCurrencyPrepend && negStyle === 0) {\n buf.push("-");\n }\n if ((negStyle === 2 || negStyle === 3) && sign === -1) {\n buf.push("(");\n hasParen = true;\n }\n if (bCurrencyPrepend) {\n buf.push(strCurrency);\n }\n sepStyle = Math.min(Math.max(0, Math.floor(sepStyle)), 4);\n buf.push("%,", sepStyle, ".", nDec.toString(), "f");\n if (!bCurrencyPrepend) {\n buf.push(strCurrency);\n }\n if (hasParen) {\n buf.push(")");\n }\n if (negStyle === 1 || negStyle === 3) {\n event.target.textColor = sign === 1 ? this._color.black : this._color.red;\n }\n if ((negStyle !== 0 || bCurrencyPrepend) && sign === -1) {\n value = -value;\n }\n const formatStr = buf.join("");\n event.value = this._util.printf(formatStr, value);\n }\n AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, bCurrencyPrepend) {\n const event = globalThis.event;\n let value = this.AFMergeChange(event);\n if (!value) {\n return;\n }\n value = value.trim();\n let pattern;\n if (sepStyle > 1) {\n pattern = event.willCommit ? /^[+-]?(\\d+(,\\d*)?|,\\d+)$/ : /^[+-]?\\d*,?\\d*$/;\n } else {\n pattern = event.willCommit ? /^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)$/ : /^[+-]?\\d*\\.?\\d*$/;\n }\n if (!pattern.test(value)) {\n if (event.willCommit) {\n const err = `${GlobalConstants.IDS_INVALID_VALUE} ${this._mkTargetName(event)}`;\n this._app.alert(err);\n }\n event.rc = false;\n }\n if (event.willCommit && sepStyle > 1) {\n event.value = parseFloat(value.replace(",", "."));\n }\n }\n AFPercent_Format(nDec, sepStyle, percentPrepend = false) {\n if (typeof nDec !== "number") {\n return;\n }\n if (typeof sepStyle !== "number") {\n return;\n }\n if (nDec < 0) {\n throw new Error("Invalid nDec value in AFPercent_Format");\n }\n const event = globalThis.event;\n if (nDec > 512) {\n event.value = "%";\n return;\n }\n nDec = Math.floor(nDec);\n sepStyle = Math.min(Math.max(0, Math.floor(sepStyle)), 4);\n let value = this.AFMakeNumber(event.value);\n if (value === null) {\n event.value = "%";\n return;\n }\n const formatStr = `%,${sepStyle}.${nDec}f`;\n value = this._util.printf(formatStr, value * 100);\n event.value = percentPrepend ? `%${value}` : `${value}%`;\n }\n AFPercent_Keystroke(nDec, sepStyle) {\n this.AFNumber_Keystroke(nDec, sepStyle, 0, 0, "", true);\n }\n AFDate_FormatEx(cFormat) {\n const event = globalThis.event;\n const value = event.value;\n if (!value) {\n return;\n }\n const date = this._parseDate(cFormat, value);\n if (date !== null) {\n event.value = this._util.printd(cFormat, date);\n }\n }\n AFDate_Format(pdf) {\n if (pdf >= 0 && pdf < this._dateFormats.length) {\n this.AFDate_FormatEx(this._dateFormats[pdf]);\n }\n }\n AFDate_KeystrokeEx(cFormat) {\n const event = globalThis.event;\n if (!event.willCommit) {\n return;\n }\n const value = this.AFMergeChange(event);\n if (!value) {\n return;\n }\n if (this._parseDate(cFormat, value) === null) {\n const invalid = GlobalConstants.IDS_INVALID_DATE;\n const invalid2 = GlobalConstants.IDS_INVALID_DATE2;\n const err = `${invalid} ${this._mkTargetName(event)}${invalid2}${cFormat}`;\n this._app.alert(err);\n event.rc = false;\n }\n }\n AFDate_Keystroke(pdf) {\n if (pdf >= 0 && pdf < this._dateFormats.length) {\n this.AFDate_KeystrokeEx(this._dateFormats[pdf]);\n }\n }\n AFRange_Validate(bGreaterThan, nGreaterThan, bLessThan, nLessThan) {\n const event = globalThis.event;\n if (!event.value) {\n return;\n }\n const value = this.AFMakeNumber(event.value);\n if (value === null) {\n return;\n }\n bGreaterThan = !!bGreaterThan;\n bLessThan = !!bLessThan;\n if (bGreaterThan) {\n nGreaterThan = this.AFMakeNumber(nGreaterThan);\n if (nGreaterThan === null) {\n return;\n }\n }\n if (bLessThan) {\n nLessThan = this.AFMakeNumber(nLessThan);\n if (nLessThan === null) {\n return;\n }\n }\n let err = "";\n if (bGreaterThan && bLessThan) {\n if (value < nGreaterThan || value > nLessThan) {\n err = this._util.printf(GlobalConstants.IDS_GT_AND_LT, nGreaterThan, nLessThan);\n }\n } else if (bGreaterThan) {\n if (value < nGreaterThan) {\n err = this._util.printf(GlobalConstants.IDS_GREATER_THAN, nGreaterThan);\n }\n } else if (value > nLessThan) {\n err = this._util.printf(GlobalConstants.IDS_LESS_THAN, nLessThan);\n }\n if (err) {\n this._app.alert(err);\n event.rc = false;\n }\n }\n AFSimple(cFunction, nValue1, nValue2) {\n const value1 = this.AFMakeNumber(nValue1);\n if (value1 === null) {\n throw new Error("Invalid nValue1 in AFSimple");\n }\n const value2 = this.AFMakeNumber(nValue2);\n if (value2 === null) {\n throw new Error("Invalid nValue2 in AFSimple");\n }\n switch (cFunction) {\n case "AVG":\n return (value1 + value2) / 2;\n case "SUM":\n return value1 + value2;\n case "PRD":\n return value1 * value2;\n case "MIN":\n return Math.min(value1, value2);\n case "MAX":\n return Math.max(value1, value2);\n }\n throw new Error("Invalid cFunction in AFSimple");\n }\n AFSimple_Calculate(cFunction, cFields) {\n const actions = {\n AVG: args => args.reduce((acc, value) => acc + value, 0) / args.length,\n SUM: args => args.reduce((acc, value) => acc + value, 0),\n PRD: args => args.reduce((acc, value) => acc * value, 1),\n MIN: args => args.reduce((acc, value) => Math.min(acc, value), Number.MAX_VALUE),\n MAX: args => args.reduce((acc, value) => Math.max(acc, value), Number.MIN_VALUE)\n };\n if (!(cFunction in actions)) {\n throw new TypeError("Invalid function in AFSimple_Calculate");\n }\n const event = globalThis.event;\n const values = [];\n cFields = this.AFMakeArrayFromList(cFields);\n for (const cField of cFields) {\n const field = this._document.getField(cField);\n if (!field) {\n continue;\n }\n for (const child of field.getArray()) {\n const number = this.AFMakeNumber(child.value);\n if (number !== null) {\n values.push(number);\n }\n }\n }\n if (values.length === 0) {\n event.value = cFunction === "PRD" ? 1 : 0;\n return;\n }\n const res = actions[cFunction](values);\n event.value = Math.round(1e6 * res) / 1e6;\n }\n AFSpecial_Format(psf) {\n const event = globalThis.event;\n if (!event.value) {\n return;\n }\n psf = this.AFMakeNumber(psf);\n let formatStr;\n switch (psf) {\n case 0:\n formatStr = "99999";\n break;\n case 1:\n formatStr = "99999-9999";\n break;\n case 2:\n formatStr = this._util.printx("9999999999", event.value).length >= 10 ? "(999) 999-9999" : "999-9999";\n break;\n case 3:\n formatStr = "999-99-9999";\n break;\n default:\n throw new Error("Invalid psf in AFSpecial_Format");\n }\n event.value = this._util.printx(formatStr, event.value);\n }\n AFSpecial_KeystrokeEx(cMask) {\n if (!cMask) {\n return;\n }\n const event = globalThis.event;\n const value = this.AFMergeChange(event);\n if (!value) {\n return;\n }\n const checkers = new Map([["9", char => char >= "0" && char <= "9"], ["A", char => "a" <= char && char <= "z" || "A" <= char && char <= "Z"], ["O", char => "a" <= char && char <= "z" || "A" <= char && char <= "Z" || "0" <= char && char <= "9"], ["X", char => true]]);\n function _checkValidity(_value, _cMask) {\n for (let i = 0, ii = _value.length; i < ii; i++) {\n const mask = _cMask.charAt(i);\n const char = _value.charAt(i);\n const checker = checkers.get(mask);\n if (checker) {\n if (!checker(char)) {\n return false;\n }\n } else if (mask !== char) {\n return false;\n }\n }\n return true;\n }\n const err = `${GlobalConstants.IDS_INVALID_VALUE} = "${cMask}"`;\n if (value.length > cMask.length) {\n this._app.alert(err);\n event.rc = false;\n return;\n }\n if (event.willCommit) {\n if (value.length < cMask.length) {\n this._app.alert(err);\n event.rc = false;\n return;\n }\n if (!_checkValidity(value, cMask)) {\n this._app.alert(err);\n event.rc = false;\n return;\n }\n event.value += cMask.substring(value.length);\n return;\n }\n if (value.length < cMask.length) {\n cMask = cMask.substring(0, value.length);\n }\n if (!_checkValidity(value, cMask)) {\n this._app.alert(err);\n event.rc = false;\n }\n }\n AFSpecial_Keystroke(psf) {\n const event = globalThis.event;\n psf = this.AFMakeNumber(psf);\n let formatStr;\n switch (psf) {\n case 0:\n formatStr = "99999";\n break;\n case 1:\n formatStr = "99999-9999";\n break;\n case 2:\n const value = this.AFMergeChange(event);\n formatStr = value.length > 8 || value.startsWith("(") ? "(999) 999-9999" : "999-9999";\n break;\n case 3:\n formatStr = "999-99-9999";\n break;\n default:\n throw new Error("Invalid psf in AFSpecial_Keystroke");\n }\n this.AFSpecial_KeystrokeEx(formatStr);\n }\n AFTime_FormatEx(cFormat) {\n this.AFDate_FormatEx(cFormat);\n }\n AFTime_Format(pdf) {\n if (pdf >= 0 && pdf < this._timeFormats.length) {\n this.AFDate_FormatEx(this._timeFormats[pdf]);\n }\n }\n AFTime_KeystrokeEx(cFormat) {\n this.AFDate_KeystrokeEx(cFormat);\n }\n AFTime_Keystroke(pdf) {\n if (pdf >= 0 && pdf < this._timeFormats.length) {\n this.AFDate_KeystrokeEx(this._timeFormats[pdf]);\n }\n }\n eMailValidate(str) {\n return this._emailRegex.test(str);\n }\n AFExactMatch(rePatterns, str) {\n if (rePatterns instanceof RegExp) {\n return str.match(rePatterns)?.[0] === str || 0;\n }\n return rePatterns.findIndex(re => str.match(re)?.[0] === str) + 1;\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/app_utils.js\nconst VIEWER_TYPE = "PDF.js";\nconst VIEWER_VARIATION = "Full";\nconst VIEWER_VERSION = 21.00720099;\nconst FORMS_VERSION = 21.00720099;\nconst USERACTIVATION_CALLBACKID = 0;\nconst USERACTIVATION_MAXTIME_VALIDITY = 5000;\nfunction serializeError(error) {\n const value = `${error.toString()}\\n${error.stack}`;\n return {\n command: "error",\n value\n };\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/event.js\n\nclass Event {\n constructor(data) {\n this.change = data.change || "";\n this.changeEx = data.changeEx || null;\n this.commitKey = data.commitKey || 0;\n this.fieldFull = data.fieldFull || false;\n this.keyDown = data.keyDown || false;\n this.modifier = data.modifier || false;\n this.name = data.name;\n this.rc = true;\n this.richChange = data.richChange || [];\n this.richChangeEx = data.richChangeEx || [];\n this.richValue = data.richValue || [];\n this.selEnd = data.selEnd ?? -1;\n this.selStart = data.selStart ?? -1;\n this.shift = data.shift || false;\n this.source = data.source || null;\n this.target = data.target || null;\n this.targetName = "";\n this.type = "Field";\n this.value = data.value || "";\n this.willCommit = data.willCommit || false;\n }\n}\nclass EventDispatcher {\n constructor(document, calculationOrder, objects, externalCall) {\n this._document = document;\n this._calculationOrder = calculationOrder;\n this._objects = objects;\n this._externalCall = externalCall;\n this._document.obj._eventDispatcher = this;\n this._isCalculating = false;\n }\n mergeChange(event) {\n let value = event.value;\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value !== "string") {\n value = value.toString();\n }\n const prefix = event.selStart >= 0 ? value.substring(0, event.selStart) : "";\n const postfix = event.selEnd >= 0 && event.selEnd <= value.length ? value.substring(event.selEnd) : "";\n return `${prefix}${event.change}${postfix}`;\n }\n userActivation() {\n this._document.obj._userActivation = true;\n this._externalCall("setTimeout", [USERACTIVATION_CALLBACKID, USERACTIVATION_MAXTIME_VALIDITY]);\n }\n dispatch(baseEvent) {\n const id = baseEvent.id;\n if (!(id in this._objects)) {\n let event;\n if (id === "doc" || id === "page") {\n event = globalThis.event = new Event(baseEvent);\n event.source = event.target = this._document.wrapped;\n event.name = baseEvent.name;\n }\n if (id === "doc") {\n const eventName = event.name;\n if (eventName === "Open") {\n this.userActivation();\n this._document.obj._initActions();\n this.formatAll();\n }\n if (!["DidPrint", "DidSave", "WillPrint", "WillSave"].includes(eventName)) {\n this.userActivation();\n }\n this._document.obj._dispatchDocEvent(event.name);\n } else if (id === "page") {\n this.userActivation();\n this._document.obj._dispatchPageEvent(event.name, baseEvent.actions, baseEvent.pageNumber);\n } else if (id === "app" && baseEvent.name === "ResetForm") {\n this.userActivation();\n for (const fieldId of baseEvent.ids) {\n const obj = this._objects[fieldId];\n obj?.obj._reset();\n }\n }\n return;\n }\n const name = baseEvent.name;\n const source = this._objects[id];\n const event = globalThis.event = new Event(baseEvent);\n let savedChange;\n this.userActivation();\n if (source.obj._isButton()) {\n source.obj._id = id;\n event.value = source.obj._getExportValue(event.value);\n if (name === "Action") {\n source.obj._value = event.value;\n }\n }\n switch (name) {\n case "Keystroke":\n savedChange = {\n value: event.value,\n changeEx: event.changeEx,\n change: event.change,\n selStart: event.selStart,\n selEnd: event.selEnd\n };\n break;\n case "Blur":\n case "Focus":\n Object.defineProperty(event, "value", {\n configurable: false,\n writable: false,\n enumerable: true,\n value: event.value\n });\n break;\n case "Validate":\n this.runValidation(source, event);\n return;\n case "Action":\n this.runActions(source, source, event, name);\n this.runCalculate(source, event);\n return;\n }\n this.runActions(source, source, event, name);\n if (name !== "Keystroke") {\n return;\n }\n if (event.rc) {\n if (event.willCommit) {\n this.runValidation(source, event);\n } else {\n if (source.obj._isChoice) {\n source.obj.value = savedChange.changeEx;\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: source.obj.value\n });\n return;\n }\n const value = source.obj.value = this.mergeChange(event);\n let selStart, selEnd;\n if (event.selStart !== savedChange.selStart || event.selEnd !== savedChange.selEnd) {\n selStart = event.selStart;\n selEnd = event.selEnd;\n } else {\n selEnd = selStart = savedChange.selStart + event.change.length;\n }\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value,\n selRange: [selStart, selEnd]\n });\n }\n } else if (!event.willCommit) {\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: savedChange.value,\n selRange: [savedChange.selStart, savedChange.selEnd]\n });\n } else {\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: "",\n formattedValue: null,\n selRange: [0, 0]\n });\n }\n }\n formatAll() {\n const event = globalThis.event = new Event({});\n for (const source of Object.values(this._objects)) {\n event.value = source.obj.value;\n this.runActions(source, source, event, "Format");\n }\n }\n runValidation(source, event) {\n const didValidateRun = this.runActions(source, source, event, "Validate");\n if (event.rc) {\n source.obj.value = event.value;\n this.runCalculate(source, event);\n const savedValue = source.obj._getValue();\n event.value = source.obj.value;\n let formattedValue = null;\n if (this.runActions(source, source, event, "Format")) {\n formattedValue = event.value?.toString?.();\n }\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: savedValue,\n formattedValue\n });\n event.value = savedValue;\n } else if (didValidateRun) {\n source.obj._send({\n id: source.obj._id,\n siblings: source.obj._siblings,\n value: "",\n formattedValue: null,\n selRange: [0, 0],\n focus: true\n });\n }\n }\n runActions(source, target, event, eventName) {\n event.source = source.wrapped;\n event.target = target.wrapped;\n event.name = eventName;\n event.targetName = target.obj.name;\n event.rc = true;\n return target.obj._runActions(event);\n }\n calculateNow() {\n if (!this._calculationOrder || this._isCalculating || !this._document.obj.calculate) {\n return;\n }\n this._isCalculating = true;\n const first = this._calculationOrder[0];\n const source = this._objects[first];\n globalThis.event = new Event({});\n try {\n this.runCalculate(source, globalThis.event);\n } catch (error) {\n this._isCalculating = false;\n throw error;\n }\n this._isCalculating = false;\n }\n runCalculate(source, event) {\n if (!this._calculationOrder || !this._document.obj.calculate) {\n return;\n }\n for (const targetId of this._calculationOrder) {\n if (!(targetId in this._objects)) {\n continue;\n }\n if (!this._document.obj.calculate) {\n break;\n }\n event.value = null;\n const target = this._objects[targetId];\n let savedValue = target.obj.value;\n this.runActions(source, target, event, "Calculate");\n if (!event.rc) {\n continue;\n }\n if (event.value !== null) {\n target.obj.value = event.value;\n }\n event.value = target.obj.value;\n this.runActions(target, target, event, "Validate");\n if (!event.rc) {\n if (target.obj.value !== savedValue) {\n target.wrapped.value = savedValue;\n }\n continue;\n }\n savedValue = event.value = target.obj.value;\n let formattedValue = null;\n if (this.runActions(target, target, event, "Format")) {\n formattedValue = event.value?.toString?.();\n }\n target.obj._send({\n id: target.obj._id,\n siblings: target.obj._siblings,\n value: savedValue,\n formattedValue\n });\n }\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/fullscreen.js\n\n\nclass FullScreen extends PDFObject {\n constructor(data) {\n super(data);\n this._backgroundColor = [];\n this._clickAdvances = true;\n this._cursor = Cursor.hidden;\n this._defaultTransition = "";\n this._escapeExits = true;\n this._isFullScreen = true;\n this._loop = false;\n this._timeDelay = 3600;\n this._usePageTiming = false;\n this._useTimer = false;\n }\n get backgroundColor() {\n return this._backgroundColor;\n }\n set backgroundColor(_) {}\n get clickAdvances() {\n return this._clickAdvances;\n }\n set clickAdvances(_) {}\n get cursor() {\n return this._cursor;\n }\n set cursor(_) {}\n get defaultTransition() {\n return this._defaultTransition;\n }\n set defaultTransition(_) {}\n get escapeExits() {\n return this._escapeExits;\n }\n set escapeExits(_) {}\n get isFullScreen() {\n return this._isFullScreen;\n }\n set isFullScreen(_) {}\n get loop() {\n return this._loop;\n }\n set loop(_) {}\n get timeDelay() {\n return this._timeDelay;\n }\n set timeDelay(_) {}\n get transitions() {\n return ["Replace", "WipeRight", "WipeLeft", "WipeDown", "WipeUp", "SplitHorizontalIn", "SplitHorizontalOut", "SplitVerticalIn", "SplitVerticalOut", "BlindsHorizontal", "BlindsVertical", "BoxIn", "BoxOut", "GlitterRight", "GlitterDown", "GlitterRightDown", "Dissolve", "Random"];\n }\n set transitions(_) {\n throw new Error("fullscreen.transitions is read-only");\n }\n get usePageTiming() {\n return this._usePageTiming;\n }\n set usePageTiming(_) {}\n get useTimer() {\n return this._useTimer;\n }\n set useTimer(_) {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/thermometer.js\n\nclass Thermometer extends PDFObject {\n constructor(data) {\n super(data);\n this._cancelled = false;\n this._duration = 100;\n this._text = "";\n this._value = 0;\n }\n get cancelled() {\n return this._cancelled;\n }\n set cancelled(_) {\n throw new Error("thermometer.cancelled is read-only");\n }\n get duration() {\n return this._duration;\n }\n set duration(val) {\n this._duration = val;\n }\n get text() {\n return this._text;\n }\n set text(val) {\n this._text = val;\n }\n get value() {\n return this._value;\n }\n set value(val) {\n this._value = val;\n }\n begin() {}\n end() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/app.js\n\n\n\n\n\n\nclass App extends PDFObject {\n constructor(data) {\n super(data);\n this._constants = null;\n this._focusRect = true;\n this._fs = null;\n this._language = App._getLanguage(data.language);\n this._openInPlace = false;\n this._platform = App._getPlatform(data.platform);\n this._runtimeHighlight = false;\n this._runtimeHighlightColor = ["T"];\n this._thermometer = null;\n this._toolbar = false;\n this._document = data._document;\n this._proxyHandler = data.proxyHandler;\n this._objects = Object.create(null);\n this._eventDispatcher = new EventDispatcher(this._document, data.calculationOrder, this._objects, data.externalCall);\n this._timeoutIds = new WeakMap();\n if (typeof FinalizationRegistry !== "undefined") {\n this._timeoutIdsRegistry = new FinalizationRegistry(this._cleanTimeout.bind(this));\n } else {\n this._timeoutIdsRegistry = null;\n }\n this._timeoutCallbackIds = new Map();\n this._timeoutCallbackId = USERACTIVATION_CALLBACKID + 1;\n this._globalEval = data.globalEval;\n this._externalCall = data.externalCall;\n }\n _dispatchEvent(pdfEvent) {\n this._eventDispatcher.dispatch(pdfEvent);\n }\n _registerTimeoutCallback(cExpr) {\n const id = this._timeoutCallbackId++;\n this._timeoutCallbackIds.set(id, cExpr);\n return id;\n }\n _unregisterTimeoutCallback(id) {\n this._timeoutCallbackIds.delete(id);\n }\n _evalCallback({\n callbackId,\n interval\n }) {\n if (callbackId === USERACTIVATION_CALLBACKID) {\n this._document.obj._userActivation = false;\n return;\n }\n const expr = this._timeoutCallbackIds.get(callbackId);\n if (!interval) {\n this._unregisterTimeoutCallback(callbackId);\n }\n if (expr) {\n this._globalEval(expr);\n }\n }\n _registerTimeout(callbackId, interval) {\n const timeout = Object.create(null);\n const id = {\n callbackId,\n interval\n };\n this._timeoutIds.set(timeout, id);\n this._timeoutIdsRegistry?.register(timeout, id);\n return timeout;\n }\n _unregisterTimeout(timeout) {\n this._timeoutIdsRegistry?.unregister(timeout);\n const data = this._timeoutIds.get(timeout);\n if (!data) {\n return;\n }\n this._timeoutIds.delete(timeout);\n this._cleanTimeout(data);\n }\n _cleanTimeout({\n callbackId,\n interval\n }) {\n this._unregisterTimeoutCallback(callbackId);\n if (interval) {\n this._externalCall("clearInterval", [callbackId]);\n } else {\n this._externalCall("clearTimeout", [callbackId]);\n }\n }\n static _getPlatform(platform) {\n if (typeof platform === "string") {\n platform = platform.toLowerCase();\n if (platform.includes("win")) {\n return "WIN";\n } else if (platform.includes("mac")) {\n return "MAC";\n }\n }\n return "UNIX";\n }\n static _getLanguage(language) {\n const [main, sub] = language.toLowerCase().split(/[-_]/);\n switch (main) {\n case "zh":\n if (sub === "cn" || sub === "sg") {\n return "CHS";\n }\n return "CHT";\n case "da":\n return "DAN";\n case "de":\n return "DEU";\n case "es":\n return "ESP";\n case "fr":\n return "FRA";\n case "it":\n return "ITA";\n case "ko":\n return "KOR";\n case "ja":\n return "JPN";\n case "nl":\n return "NLD";\n case "no":\n return "NOR";\n case "pt":\n if (sub === "br") {\n return "PTB";\n }\n return "ENU";\n case "fi":\n return "SUO";\n case "SV":\n return "SVE";\n default:\n return "ENU";\n }\n }\n get activeDocs() {\n return [this._document.wrapped];\n }\n set activeDocs(_) {\n throw new Error("app.activeDocs is read-only");\n }\n get calculate() {\n return this._document.obj.calculate;\n }\n set calculate(calculate) {\n this._document.obj.calculate = calculate;\n }\n get constants() {\n if (!this._constants) {\n this._constants = Object.freeze({\n align: Object.freeze({\n left: 0,\n center: 1,\n right: 2,\n top: 3,\n bottom: 4\n })\n });\n }\n return this._constants;\n }\n set constants(_) {\n throw new Error("app.constants is read-only");\n }\n get focusRect() {\n return this._focusRect;\n }\n set focusRect(val) {\n this._focusRect = val;\n }\n get formsVersion() {\n return FORMS_VERSION;\n }\n set formsVersion(_) {\n throw new Error("app.formsVersion is read-only");\n }\n get fromPDFConverters() {\n return [];\n }\n set fromPDFConverters(_) {\n throw new Error("app.fromPDFConverters is read-only");\n }\n get fs() {\n if (this._fs === null) {\n this._fs = new Proxy(new FullScreen({\n send: this._send\n }), this._proxyHandler);\n }\n return this._fs;\n }\n set fs(_) {\n throw new Error("app.fs is read-only");\n }\n get language() {\n return this._language;\n }\n set language(_) {\n throw new Error("app.language is read-only");\n }\n get media() {\n return undefined;\n }\n set media(_) {\n throw new Error("app.media is read-only");\n }\n get monitors() {\n return [];\n }\n set monitors(_) {\n throw new Error("app.monitors is read-only");\n }\n get numPlugins() {\n return 0;\n }\n set numPlugins(_) {\n throw new Error("app.numPlugins is read-only");\n }\n get openInPlace() {\n return this._openInPlace;\n }\n set openInPlace(val) {\n this._openInPlace = val;\n }\n get platform() {\n return this._platform;\n }\n set platform(_) {\n throw new Error("app.platform is read-only");\n }\n get plugins() {\n return [];\n }\n set plugins(_) {\n throw new Error("app.plugins is read-only");\n }\n get printColorProfiles() {\n return [];\n }\n set printColorProfiles(_) {\n throw new Error("app.printColorProfiles is read-only");\n }\n get printerNames() {\n return [];\n }\n set printerNames(_) {\n throw new Error("app.printerNames is read-only");\n }\n get runtimeHighlight() {\n return this._runtimeHighlight;\n }\n set runtimeHighlight(val) {\n this._runtimeHighlight = val;\n }\n get runtimeHighlightColor() {\n return this._runtimeHighlightColor;\n }\n set runtimeHighlightColor(val) {\n if (Color._isValidColor(val)) {\n this._runtimeHighlightColor = val;\n }\n }\n get thermometer() {\n if (this._thermometer === null) {\n this._thermometer = new Proxy(new Thermometer({\n send: this._send\n }), this._proxyHandler);\n }\n return this._thermometer;\n }\n set thermometer(_) {\n throw new Error("app.thermometer is read-only");\n }\n get toolbar() {\n return this._toolbar;\n }\n set toolbar(val) {\n this._toolbar = val;\n }\n get toolbarHorizontal() {\n return this.toolbar;\n }\n set toolbarHorizontal(value) {\n this.toolbar = value;\n }\n get toolbarVertical() {\n return this.toolbar;\n }\n set toolbarVertical(value) {\n this.toolbar = value;\n }\n get viewerType() {\n return VIEWER_TYPE;\n }\n set viewerType(_) {\n throw new Error("app.viewerType is read-only");\n }\n get viewerVariation() {\n return VIEWER_VARIATION;\n }\n set viewerVariation(_) {\n throw new Error("app.viewerVariation is read-only");\n }\n get viewerVersion() {\n return VIEWER_VERSION;\n }\n set viewerVersion(_) {\n throw new Error("app.viewerVersion is read-only");\n }\n addMenuItem() {}\n addSubMenu() {}\n addToolButton() {}\n alert(cMsg, nIcon = 0, nType = 0, cTitle = "PDF.js", oDoc = null, oCheckbox = null) {\n if (!this._document.obj._userActivation) {\n return 0;\n }\n this._document.obj._userActivation = false;\n if (cMsg && typeof cMsg === "object") {\n nType = cMsg.nType;\n cMsg = cMsg.cMsg;\n }\n cMsg = (cMsg || "").toString();\n nType = typeof nType !== "number" || isNaN(nType) || nType < 0 || nType > 3 ? 0 : nType;\n if (nType >= 2) {\n return this._externalCall("confirm", [cMsg]) ? 4 : 3;\n }\n this._externalCall("alert", [cMsg]);\n return 1;\n }\n beep() {}\n beginPriv() {}\n browseForDoc() {}\n clearInterval(oInterval) {\n this._unregisterTimeout(oInterval);\n }\n clearTimeOut(oTime) {\n this._unregisterTimeout(oTime);\n }\n endPriv() {}\n execDialog() {}\n execMenuItem(item) {\n if (!this._document.obj._userActivation) {\n return;\n }\n this._document.obj._userActivation = false;\n switch (item) {\n case "SaveAs":\n if (this._document.obj._disableSaving) {\n return;\n }\n this._send({\n command: item\n });\n break;\n case "FirstPage":\n case "LastPage":\n case "NextPage":\n case "PrevPage":\n case "ZoomViewIn":\n case "ZoomViewOut":\n this._send({\n command: item\n });\n break;\n case "FitPage":\n this._send({\n command: "zoom",\n value: "page-fit"\n });\n break;\n case "Print":\n if (this._document.obj._disablePrinting) {\n return;\n }\n this._send({\n command: "print"\n });\n break;\n }\n }\n getNthPlugInName() {}\n getPath() {}\n goBack() {}\n goForward() {}\n hideMenuItem() {}\n hideToolbarButton() {}\n launchURL() {}\n listMenuItems() {}\n listToolbarButtons() {}\n loadPolicyFile() {}\n mailGetAddrs() {}\n mailMsg() {}\n newDoc() {}\n newCollection() {}\n newFDF() {}\n openDoc() {}\n openFDF() {}\n popUpMenu() {}\n popUpMenuEx() {}\n removeToolButton() {}\n response(cQuestion, cTitle = "", cDefault = "", bPassword = "", cLabel = "") {\n if (cQuestion && typeof cQuestion === "object") {\n cDefault = cQuestion.cDefault;\n cQuestion = cQuestion.cQuestion;\n }\n cQuestion = (cQuestion || "").toString();\n cDefault = (cDefault || "").toString();\n return this._externalCall("prompt", [cQuestion, cDefault || ""]);\n }\n setInterval(cExpr, nMilliseconds = 0) {\n if (cExpr && typeof cExpr === "object") {\n nMilliseconds = cExpr.nMilliseconds || 0;\n cExpr = cExpr.cExpr;\n }\n if (typeof cExpr !== "string") {\n throw new TypeError("First argument of app.setInterval must be a string");\n }\n if (typeof nMilliseconds !== "number") {\n throw new TypeError("Second argument of app.setInterval must be a number");\n }\n const callbackId = this._registerTimeoutCallback(cExpr);\n this._externalCall("setInterval", [callbackId, nMilliseconds]);\n return this._registerTimeout(callbackId, true);\n }\n setTimeOut(cExpr, nMilliseconds = 0) {\n if (cExpr && typeof cExpr === "object") {\n nMilliseconds = cExpr.nMilliseconds || 0;\n cExpr = cExpr.cExpr;\n }\n if (typeof cExpr !== "string") {\n throw new TypeError("First argument of app.setTimeOut must be a string");\n }\n if (typeof nMilliseconds !== "number") {\n throw new TypeError("Second argument of app.setTimeOut must be a number");\n }\n const callbackId = this._registerTimeoutCallback(cExpr);\n this._externalCall("setTimeout", [callbackId, nMilliseconds]);\n return this._registerTimeout(callbackId, false);\n }\n trustedFunction() {}\n trustPropagatorFunction() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/console.js\n\nclass Console extends PDFObject {\n clear() {\n this._send({\n id: "clear"\n });\n }\n hide() {}\n println(msg) {\n if (typeof msg === "string") {\n this._send({\n command: "println",\n value: "PDF.js Console:: " + msg\n });\n }\n }\n show() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/print_params.js\nclass PrintParams {\n constructor(data) {\n this.binaryOk = true;\n this.bitmapDPI = 150;\n this.booklet = {\n binding: 0,\n duplexMode: 0,\n subsetFrom: 0,\n subsetTo: -1\n };\n this.colorOverride = 0;\n this.colorProfile = "";\n this.constants = Object.freeze({\n bookletBindings: Object.freeze({\n Left: 0,\n Right: 1,\n LeftTall: 2,\n RightTall: 3\n }),\n bookletDuplexMode: Object.freeze({\n BothSides: 0,\n FrontSideOnly: 1,\n BasicSideOnly: 2\n }),\n colorOverrides: Object.freeze({\n auto: 0,\n gray: 1,\n mono: 2\n }),\n fontPolicies: Object.freeze({\n everyPage: 0,\n jobStart: 1,\n pageRange: 2\n }),\n handling: Object.freeze({\n none: 0,\n fit: 1,\n shrink: 2,\n tileAll: 3,\n tileLarge: 4,\n nUp: 5,\n booklet: 6\n }),\n interactionLevel: Object.freeze({\n automatic: 0,\n full: 1,\n silent: 2\n }),\n nUpPageOrders: Object.freeze({\n Horizontal: 0,\n HorizontalReversed: 1,\n Vertical: 2\n }),\n printContents: Object.freeze({\n doc: 0,\n docAndComments: 1,\n formFieldsOnly: 2\n }),\n flagValues: Object.freeze({\n applyOverPrint: 1,\n applySoftProofSettings: 1 << 1,\n applyWorkingColorSpaces: 1 << 2,\n emitHalftones: 1 << 3,\n emitPostScriptXObjects: 1 << 4,\n emitFormsAsPSForms: 1 << 5,\n maxJP2KRes: 1 << 6,\n setPageSize: 1 << 7,\n suppressBG: 1 << 8,\n suppressCenter: 1 << 9,\n suppressCJKFontSubst: 1 << 10,\n suppressCropClip: 1 << 1,\n suppressRotate: 1 << 12,\n suppressTransfer: 1 << 13,\n suppressUCR: 1 << 14,\n useTrapAnnots: 1 << 15,\n usePrintersMarks: 1 << 16\n }),\n rasterFlagValues: Object.freeze({\n textToOutline: 1,\n strokesToOutline: 1 << 1,\n allowComplexClip: 1 << 2,\n preserveOverprint: 1 << 3\n }),\n subsets: Object.freeze({\n all: 0,\n even: 1,\n odd: 2\n }),\n tileMarks: Object.freeze({\n none: 0,\n west: 1,\n east: 2\n }),\n usages: Object.freeze({\n auto: 0,\n use: 1,\n noUse: 2\n })\n });\n this.downloadFarEastFonts = false;\n this.fileName = "";\n this.firstPage = 0;\n this.flags = 0;\n this.fontPolicy = 0;\n this.gradientDPI = 150;\n this.interactive = 1;\n this.lastPage = data.lastPage;\n this.npUpAutoRotate = false;\n this.npUpNumPagesH = 2;\n this.npUpNumPagesV = 2;\n this.npUpPageBorder = false;\n this.npUpPageOrder = 0;\n this.pageHandling = 0;\n this.pageSubset = 0;\n this.printAsImage = false;\n this.printContent = 0;\n this.printerName = "";\n this.psLevel = 0;\n this.rasterFlags = 0;\n this.reversePages = false;\n this.tileLabel = false;\n this.tileMark = 0;\n this.tileOverlap = 0;\n this.tileScale = 1.0;\n this.transparencyLevel = 75;\n this.usePrinterCRD = 0;\n this.useT1Conversion = 0;\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/doc.js\n\n\n\n\n\nconst DOC_EXTERNAL = false;\nclass InfoProxyHandler {\n static get(obj, prop) {\n return obj[prop.toLowerCase()];\n }\n static set(obj, prop, value) {\n throw new Error(`doc.info.${prop} is read-only`);\n }\n}\nclass Doc extends PDFObject {\n constructor(data) {\n super(data);\n this._expandos = globalThis;\n this._baseURL = data.baseURL || "";\n this._calculate = true;\n this._delay = false;\n this._dirty = false;\n this._disclosed = false;\n this._media = undefined;\n this._metadata = data.metadata || "";\n this._noautocomplete = undefined;\n this._nocache = undefined;\n this._spellDictionaryOrder = [];\n this._spellLanguageOrder = [];\n this._printParams = null;\n this._fields = new Map();\n this._fieldNames = [];\n this._event = null;\n this._author = data.Author || "";\n this._creator = data.Creator || "";\n this._creationDate = this._getDate(data.CreationDate) || null;\n this._docID = data.docID || ["", ""];\n this._documentFileName = data.filename || "";\n this._filesize = data.filesize || 0;\n this._keywords = data.Keywords || "";\n this._layout = data.layout || "";\n this._modDate = this._getDate(data.ModDate) || null;\n this._numFields = 0;\n this._numPages = data.numPages || 1;\n this._pageNum = data.pageNum || 0;\n this._producer = data.Producer || "";\n this._securityHandler = data.EncryptFilterName || null;\n this._subject = data.Subject || "";\n this._title = data.Title || "";\n this._URL = data.URL || "";\n this._info = new Proxy({\n title: this._title,\n author: this._author,\n authors: data.authors || [this._author],\n subject: this._subject,\n keywords: this._keywords,\n creator: this._creator,\n producer: this._producer,\n creationdate: this._creationDate,\n moddate: this._modDate,\n trapped: data.Trapped || "Unknown"\n }, InfoProxyHandler);\n this._zoomType = ZoomType.none;\n this._zoom = data.zoom || 100;\n this._actions = createActionsMap(data.actions);\n this._globalEval = data.globalEval;\n this._pageActions = new Map();\n this._userActivation = false;\n this._disablePrinting = false;\n this._disableSaving = false;\n }\n _initActions() {\n const dontRun = new Set(["WillClose", "WillSave", "DidSave", "WillPrint", "DidPrint", "OpenAction"]);\n this._disableSaving = true;\n for (const actionName of this._actions.keys()) {\n if (!dontRun.has(actionName)) {\n this._runActions(actionName);\n }\n }\n this._runActions("OpenAction");\n this._disableSaving = false;\n }\n _dispatchDocEvent(name) {\n switch (name) {\n case "Open":\n this._disableSaving = true;\n this._runActions("OpenAction");\n this._disableSaving = false;\n break;\n case "WillPrint":\n this._disablePrinting = true;\n try {\n this._runActions(name);\n } catch (error) {\n this._send(serializeError(error));\n }\n this._send({\n command: "WillPrintFinished"\n });\n this._disablePrinting = false;\n break;\n case "WillSave":\n this._disableSaving = true;\n this._runActions(name);\n this._disableSaving = false;\n break;\n default:\n this._runActions(name);\n }\n }\n _dispatchPageEvent(name, actions, pageNumber) {\n if (name === "PageOpen") {\n if (!this._pageActions.has(pageNumber)) {\n this._pageActions.set(pageNumber, createActionsMap(actions));\n }\n this._pageNum = pageNumber - 1;\n }\n actions = this._pageActions.get(pageNumber)?.get(name);\n if (actions) {\n for (const action of actions) {\n this._globalEval(action);\n }\n }\n }\n _runActions(name) {\n const actions = this._actions.get(name);\n if (actions) {\n for (const action of actions) {\n this._globalEval(action);\n }\n }\n }\n _addField(name, field) {\n this._fields.set(name, field);\n this._fieldNames.push(name);\n this._numFields++;\n }\n _getDate(date) {\n if (!date || date.length < 15 || !date.startsWith("D:")) {\n return date;\n }\n date = date.substring(2);\n const year = date.substring(0, 4);\n const month = date.substring(4, 6);\n const day = date.substring(6, 8);\n const hour = date.substring(8, 10);\n const minute = date.substring(10, 12);\n const o = date.charAt(12);\n let second, offsetPos;\n if (o === "Z" || o === "+" || o === "-") {\n second = "00";\n offsetPos = 12;\n } else {\n second = date.substring(12, 14);\n offsetPos = 14;\n }\n const offset = date.substring(offsetPos).replaceAll("\'", "");\n return new Date(`${year}-${month}-${day}T${hour}:${minute}:${second}${offset}`);\n }\n get author() {\n return this._author;\n }\n set author(_) {\n throw new Error("doc.author is read-only");\n }\n get baseURL() {\n return this._baseURL;\n }\n set baseURL(baseURL) {\n this._baseURL = baseURL;\n }\n get bookmarkRoot() {\n return undefined;\n }\n set bookmarkRoot(_) {\n throw new Error("doc.bookmarkRoot is read-only");\n }\n get calculate() {\n return this._calculate;\n }\n set calculate(calculate) {\n this._calculate = calculate;\n }\n get creator() {\n return this._creator;\n }\n set creator(_) {\n throw new Error("doc.creator is read-only");\n }\n get dataObjects() {\n return [];\n }\n set dataObjects(_) {\n throw new Error("doc.dataObjects is read-only");\n }\n get delay() {\n return this._delay;\n }\n set delay(delay) {\n this._delay = delay;\n }\n get dirty() {\n return this._dirty;\n }\n set dirty(dirty) {\n this._dirty = dirty;\n }\n get disclosed() {\n return this._disclosed;\n }\n set disclosed(disclosed) {\n this._disclosed = disclosed;\n }\n get docID() {\n return this._docID;\n }\n set docID(_) {\n throw new Error("doc.docID is read-only");\n }\n get documentFileName() {\n return this._documentFileName;\n }\n set documentFileName(_) {\n throw new Error("doc.documentFileName is read-only");\n }\n get dynamicXFAForm() {\n return false;\n }\n set dynamicXFAForm(_) {\n throw new Error("doc.dynamicXFAForm is read-only");\n }\n get external() {\n return DOC_EXTERNAL;\n }\n set external(_) {\n throw new Error("doc.external is read-only");\n }\n get filesize() {\n return this._filesize;\n }\n set filesize(_) {\n throw new Error("doc.filesize is read-only");\n }\n get hidden() {\n return false;\n }\n set hidden(_) {\n throw new Error("doc.hidden is read-only");\n }\n get hostContainer() {\n return undefined;\n }\n set hostContainer(_) {\n throw new Error("doc.hostContainer is read-only");\n }\n get icons() {\n return undefined;\n }\n set icons(_) {\n throw new Error("doc.icons is read-only");\n }\n get info() {\n return this._info;\n }\n set info(_) {\n throw new Error("doc.info is read-only");\n }\n get innerAppWindowRect() {\n return [0, 0, 0, 0];\n }\n set innerAppWindowRect(_) {\n throw new Error("doc.innerAppWindowRect is read-only");\n }\n get innerDocWindowRect() {\n return [0, 0, 0, 0];\n }\n set innerDocWindowRect(_) {\n throw new Error("doc.innerDocWindowRect is read-only");\n }\n get isModal() {\n return false;\n }\n set isModal(_) {\n throw new Error("doc.isModal is read-only");\n }\n get keywords() {\n return this._keywords;\n }\n set keywords(_) {\n throw new Error("doc.keywords is read-only");\n }\n get layout() {\n return this._layout;\n }\n set layout(value) {\n if (!this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (typeof value !== "string") {\n return;\n }\n if (value !== "SinglePage" && value !== "OneColumn" && value !== "TwoColumnLeft" && value !== "TwoPageLeft" && value !== "TwoColumnRight" && value !== "TwoPageRight") {\n value = "SinglePage";\n }\n this._send({\n command: "layout",\n value\n });\n this._layout = value;\n }\n get media() {\n return this._media;\n }\n set media(media) {\n this._media = media;\n }\n get metadata() {\n return this._metadata;\n }\n set metadata(metadata) {\n this._metadata = metadata;\n }\n get modDate() {\n return this._modDate;\n }\n set modDate(_) {\n throw new Error("doc.modDate is read-only");\n }\n get mouseX() {\n return 0;\n }\n set mouseX(_) {\n throw new Error("doc.mouseX is read-only");\n }\n get mouseY() {\n return 0;\n }\n set mouseY(_) {\n throw new Error("doc.mouseY is read-only");\n }\n get noautocomplete() {\n return this._noautocomplete;\n }\n set noautocomplete(noautocomplete) {\n this._noautocomplete = noautocomplete;\n }\n get nocache() {\n return this._nocache;\n }\n set nocache(nocache) {\n this._nocache = nocache;\n }\n get numFields() {\n return this._numFields;\n }\n set numFields(_) {\n throw new Error("doc.numFields is read-only");\n }\n get numPages() {\n return this._numPages;\n }\n set numPages(_) {\n throw new Error("doc.numPages is read-only");\n }\n get numTemplates() {\n return 0;\n }\n set numTemplates(_) {\n throw new Error("doc.numTemplates is read-only");\n }\n get outerAppWindowRect() {\n return [0, 0, 0, 0];\n }\n set outerAppWindowRect(_) {\n throw new Error("doc.outerAppWindowRect is read-only");\n }\n get outerDocWindowRect() {\n return [0, 0, 0, 0];\n }\n set outerDocWindowRect(_) {\n throw new Error("doc.outerDocWindowRect is read-only");\n }\n get pageNum() {\n return this._pageNum;\n }\n set pageNum(value) {\n if (!this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (typeof value !== "number" || value < 0 || value >= this._numPages) {\n return;\n }\n this._send({\n command: "page-num",\n value\n });\n this._pageNum = value;\n }\n get pageWindowRect() {\n return [0, 0, 0, 0];\n }\n set pageWindowRect(_) {\n throw new Error("doc.pageWindowRect is read-only");\n }\n get path() {\n return "";\n }\n set path(_) {\n throw new Error("doc.path is read-only");\n }\n get permStatusReady() {\n return true;\n }\n set permStatusReady(_) {\n throw new Error("doc.permStatusReady is read-only");\n }\n get producer() {\n return this._producer;\n }\n set producer(_) {\n throw new Error("doc.producer is read-only");\n }\n get requiresFullSave() {\n return false;\n }\n set requiresFullSave(_) {\n throw new Error("doc.requiresFullSave is read-only");\n }\n get securityHandler() {\n return this._securityHandler;\n }\n set securityHandler(_) {\n throw new Error("doc.securityHandler is read-only");\n }\n get selectedAnnots() {\n return [];\n }\n set selectedAnnots(_) {\n throw new Error("doc.selectedAnnots is read-only");\n }\n get sounds() {\n return [];\n }\n set sounds(_) {\n throw new Error("doc.sounds is read-only");\n }\n get spellDictionaryOrder() {\n return this._spellDictionaryOrder;\n }\n set spellDictionaryOrder(spellDictionaryOrder) {\n this._spellDictionaryOrder = spellDictionaryOrder;\n }\n get spellLanguageOrder() {\n return this._spellLanguageOrder;\n }\n set spellLanguageOrder(spellLanguageOrder) {\n this._spellLanguageOrder = spellLanguageOrder;\n }\n get subject() {\n return this._subject;\n }\n set subject(_) {\n throw new Error("doc.subject is read-only");\n }\n get templates() {\n return [];\n }\n set templates(_) {\n throw new Error("doc.templates is read-only");\n }\n get title() {\n return this._title;\n }\n set title(_) {\n throw new Error("doc.title is read-only");\n }\n get URL() {\n return this._URL;\n }\n set URL(_) {\n throw new Error("doc.URL is read-only");\n }\n get viewState() {\n return undefined;\n }\n set viewState(_) {\n throw new Error("doc.viewState is read-only");\n }\n get xfa() {\n return this._xfa;\n }\n set xfa(_) {\n throw new Error("doc.xfa is read-only");\n }\n get XFAForeground() {\n return false;\n }\n set XFAForeground(_) {\n throw new Error("doc.XFAForeground is read-only");\n }\n get zoomType() {\n return this._zoomType;\n }\n set zoomType(type) {\n if (!this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (typeof type !== "string") {\n return;\n }\n switch (type) {\n case ZoomType.none:\n this._send({\n command: "zoom",\n value: 1\n });\n break;\n case ZoomType.fitP:\n this._send({\n command: "zoom",\n value: "page-fit"\n });\n break;\n case ZoomType.fitW:\n this._send({\n command: "zoom",\n value: "page-width"\n });\n break;\n case ZoomType.fitH:\n this._send({\n command: "zoom",\n value: "page-height"\n });\n break;\n case ZoomType.fitV:\n this._send({\n command: "zoom",\n value: "auto"\n });\n break;\n case ZoomType.pref:\n case ZoomType.refW:\n break;\n default:\n return;\n }\n this._zoomType = type;\n }\n get zoom() {\n return this._zoom;\n }\n set zoom(value) {\n if (!this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (typeof value !== "number" || value < 8.33 || value > 6400) {\n return;\n }\n this._send({\n command: "zoom",\n value: value / 100\n });\n }\n addAnnot() {}\n addField() {}\n addIcon() {}\n addLink() {}\n addRecipientListCryptFilter() {}\n addRequirement() {}\n addScript() {}\n addThumbnails() {}\n addWatermarkFromFile() {}\n addWatermarkFromText() {}\n addWeblinks() {}\n bringToFront() {}\n calculateNow() {\n this._eventDispatcher.calculateNow();\n }\n closeDoc() {}\n colorConvertPage() {}\n createDataObject() {}\n createTemplate() {}\n deletePages() {}\n deleteSound() {}\n embedDocAsDataObject() {}\n embedOutputIntent() {}\n encryptForRecipients() {}\n encryptUsingPolicy() {}\n exportAsFDF() {}\n exportAsFDFStr() {}\n exportAsText() {}\n exportAsXFDF() {}\n exportAsXFDFStr() {}\n exportDataObject() {}\n exportXFAData() {}\n extractPages() {}\n flattenPages() {}\n getAnnot() {}\n getAnnots() {}\n getAnnot3D() {}\n getAnnots3D() {}\n getColorConvertAction() {}\n getDataObject() {}\n getDataObjectContents() {}\n _getField(cName) {\n if (cName && typeof cName === "object") {\n cName = cName.cName;\n }\n if (typeof cName !== "string") {\n throw new TypeError("Invalid field name: must be a string");\n }\n const searchedField = this._fields.get(cName);\n if (searchedField) {\n return searchedField;\n }\n const parts = cName.split("#");\n let childIndex = NaN;\n if (parts.length === 2) {\n childIndex = Math.floor(parseFloat(parts[1]));\n cName = parts[0];\n }\n for (const [name, field] of this._fields.entries()) {\n if (name.endsWith(cName)) {\n if (!isNaN(childIndex)) {\n const children = this._getChildren(name);\n if (childIndex < 0 || childIndex >= children.length) {\n childIndex = 0;\n }\n if (childIndex < children.length) {\n this._fields.set(cName, children[childIndex]);\n return children[childIndex];\n }\n }\n this._fields.set(cName, field);\n return field;\n }\n }\n return null;\n }\n getField(cName) {\n const field = this._getField(cName);\n if (!field) {\n return null;\n }\n return field.wrapped;\n }\n _getChildren(fieldName) {\n const len = fieldName.length;\n const children = [];\n const pattern = /^\\.[^.]+$/;\n for (const [name, field] of this._fields.entries()) {\n if (name.startsWith(fieldName)) {\n const finalPart = name.slice(len);\n if (pattern.test(finalPart)) {\n children.push(field);\n }\n }\n }\n return children;\n }\n _getTerminalChildren(fieldName) {\n const children = [];\n const len = fieldName.length;\n for (const [name, field] of this._fields.entries()) {\n if (name.startsWith(fieldName)) {\n const finalPart = name.slice(len);\n if (field.obj._hasValue && (finalPart === "" || finalPart.startsWith("."))) {\n children.push(field.wrapped);\n }\n }\n }\n return children;\n }\n getIcon() {}\n getLegalWarnings() {}\n getLinks() {}\n getNthFieldName(nIndex) {\n if (nIndex && typeof nIndex === "object") {\n nIndex = nIndex.nIndex;\n }\n if (typeof nIndex !== "number") {\n throw new TypeError("Invalid field index: must be a number");\n }\n if (0 <= nIndex && nIndex < this.numFields) {\n return this._fieldNames[Math.trunc(nIndex)];\n }\n return null;\n }\n getNthTemplate() {\n return null;\n }\n getOCGs() {}\n getOCGOrder() {}\n getPageBox() {}\n getPageLabel() {}\n getPageNthWord() {}\n getPageNthWordQuads() {}\n getPageNumWords() {}\n getPageRotation() {}\n getPageTransition() {}\n getPrintParams() {\n return this._printParams ||= new PrintParams({\n lastPage: this._numPages - 1\n });\n }\n getSound() {}\n getTemplate() {}\n getURL() {}\n gotoNamedDest() {}\n importAnFDF() {}\n importAnXFDF() {}\n importDataObject() {}\n importIcon() {}\n importSound() {}\n importTextData() {}\n importXFAData() {}\n insertPages() {}\n mailDoc() {}\n mailForm() {}\n movePage() {}\n newPage() {}\n openDataObject() {}\n print(bUI = true, nStart = 0, nEnd = -1, bSilent = false, bShrinkToFit = false, bPrintAsImage = false, bReverse = false, bAnnotations = true, printParams = null) {\n if (this._disablePrinting || !this._userActivation) {\n return;\n }\n this._userActivation = false;\n if (bUI && typeof bUI === "object") {\n nStart = bUI.nStart;\n nEnd = bUI.nEnd;\n bSilent = bUI.bSilent;\n bShrinkToFit = bUI.bShrinkToFit;\n bPrintAsImage = bUI.bPrintAsImage;\n bReverse = bUI.bReverse;\n bAnnotations = bUI.bAnnotations;\n printParams = bUI.printParams;\n bUI = bUI.bUI;\n }\n if (printParams) {\n nStart = printParams.firstPage;\n nEnd = printParams.lastPage;\n }\n nStart = typeof nStart === "number" ? Math.max(0, Math.trunc(nStart)) : 0;\n nEnd = typeof nEnd === "number" ? Math.max(0, Math.trunc(nEnd)) : -1;\n this._send({\n command: "print",\n start: nStart,\n end: nEnd\n });\n }\n removeDataObject() {}\n removeField() {}\n removeIcon() {}\n removeLinks() {}\n removeRequirement() {}\n removeScript() {}\n removeTemplate() {}\n removeThumbnails() {}\n removeWeblinks() {}\n replacePages() {}\n resetForm(aFields = null) {\n if (aFields && typeof aFields === "object" && !Array.isArray(aFields)) {\n aFields = aFields.aFields;\n }\n if (aFields && !Array.isArray(aFields)) {\n aFields = [aFields];\n }\n let mustCalculate = false;\n let fieldsToReset;\n if (aFields) {\n fieldsToReset = [];\n for (const fieldName of aFields) {\n if (!fieldName) {\n continue;\n }\n if (typeof fieldName !== "string") {\n fieldsToReset = null;\n break;\n }\n const field = this._getField(fieldName);\n if (!field) {\n continue;\n }\n fieldsToReset.push(field);\n mustCalculate = true;\n }\n }\n if (!fieldsToReset) {\n fieldsToReset = this._fields.values();\n mustCalculate = this._fields.size !== 0;\n }\n for (const field of fieldsToReset) {\n field.obj.value = field.obj.defaultValue;\n this._send({\n id: field.obj._id,\n siblings: field.obj._siblings,\n value: field.obj.defaultValue,\n formattedValue: null,\n selRange: [0, 0]\n });\n }\n if (mustCalculate) {\n this.calculateNow();\n }\n }\n saveAs() {}\n scroll() {}\n selectPageNthWord() {}\n setAction() {}\n setDataObjectContents() {}\n setOCGOrder() {}\n setPageAction() {}\n setPageBoxes() {}\n setPageLabels() {}\n setPageRotations() {}\n setPageTabOrder() {}\n setPageTransitions() {}\n spawnPageFromTemplate() {}\n submitForm() {}\n syncAnnotScan() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/proxy.js\nclass ProxyHandler {\n constructor() {\n this.nosend = new Set(["delay"]);\n }\n get(obj, prop) {\n if (prop in obj._expandos) {\n const val = obj._expandos[prop];\n if (typeof val === "function") {\n return val.bind(obj);\n }\n return val;\n }\n if (typeof prop === "string" && !prop.startsWith("_") && prop in obj) {\n const val = obj[prop];\n if (typeof val === "function") {\n return val.bind(obj);\n }\n return val;\n }\n return undefined;\n }\n set(obj, prop, value) {\n if (obj._kidIds) {\n obj._kidIds.forEach(id => {\n obj._appObjects[id].wrapped[prop] = value;\n });\n }\n if (typeof prop === "string" && !prop.startsWith("_") && prop in obj) {\n const old = obj[prop];\n obj[prop] = value;\n if (!this.nosend.has(prop) && obj._send && obj._id !== null && typeof old !== "function") {\n const data = {\n id: obj._id\n };\n data[prop] = prop === "value" ? obj._getValue() : obj[prop];\n if (!obj._siblings) {\n obj._send(data);\n } else {\n data.siblings = obj._siblings;\n obj._send(data);\n }\n }\n } else {\n obj._expandos[prop] = value;\n }\n return true;\n }\n has(obj, prop) {\n return prop in obj._expandos || typeof prop === "string" && !prop.startsWith("_") && prop in obj;\n }\n getPrototypeOf(obj) {\n return null;\n }\n setPrototypeOf(obj, proto) {\n return false;\n }\n isExtensible(obj) {\n return true;\n }\n preventExtensions(obj) {\n return false;\n }\n getOwnPropertyDescriptor(obj, prop) {\n if (prop in obj._expandos) {\n return {\n configurable: true,\n enumerable: true,\n value: obj._expandos[prop]\n };\n }\n if (typeof prop === "string" && !prop.startsWith("_") && prop in obj) {\n return {\n configurable: true,\n enumerable: true,\n value: obj[prop]\n };\n }\n return undefined;\n }\n defineProperty(obj, key, descriptor) {\n Object.defineProperty(obj._expandos, key, descriptor);\n return true;\n }\n deleteProperty(obj, prop) {\n if (prop in obj._expandos) {\n delete obj._expandos[prop];\n }\n }\n ownKeys(obj) {\n const fromExpandos = Reflect.ownKeys(obj._expandos);\n const fromObj = Reflect.ownKeys(obj).filter(k => !k.startsWith("_"));\n return fromExpandos.concat(fromObj);\n }\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/util.js\n\nclass Util extends PDFObject {\n constructor(data) {\n super(data);\n this._scandCache = new Map();\n this._months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];\n this._days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];\n this.MILLISECONDS_IN_DAY = 86400000;\n this.MILLISECONDS_IN_WEEK = 604800000;\n this._externalCall = data.externalCall;\n }\n printf(...args) {\n if (args.length === 0) {\n throw new Error("Invalid number of params in printf");\n }\n if (typeof args[0] !== "string") {\n throw new TypeError("First argument of printf must be a string");\n }\n const pattern = /%(,[0-4])?([+ 0#]+)?(\\d+)?(\\.\\d+)?(.)/g;\n const PLUS = 1;\n const SPACE = 2;\n const ZERO = 4;\n const HASH = 8;\n let i = 0;\n return args[0].replaceAll(pattern, function (match, nDecSep, cFlags, nWidth, nPrecision, cConvChar) {\n if (cConvChar !== "d" && cConvChar !== "f" && cConvChar !== "s" && cConvChar !== "x") {\n const buf = ["%"];\n for (const str of [nDecSep, cFlags, nWidth, nPrecision, cConvChar]) {\n if (str) {\n buf.push(str);\n }\n }\n return buf.join("");\n }\n i++;\n if (i === args.length) {\n throw new Error("Not enough arguments in printf");\n }\n const arg = args[i];\n if (cConvChar === "s") {\n return arg.toString();\n }\n let flags = 0;\n if (cFlags) {\n for (const flag of cFlags) {\n switch (flag) {\n case "+":\n flags |= PLUS;\n break;\n case " ":\n flags |= SPACE;\n break;\n case "0":\n flags |= ZERO;\n break;\n case "#":\n flags |= HASH;\n break;\n }\n }\n }\n cFlags = flags;\n if (nWidth) {\n nWidth = parseInt(nWidth);\n }\n let intPart = Math.trunc(arg);\n if (cConvChar === "x") {\n let hex = Math.abs(intPart).toString(16).toUpperCase();\n if (nWidth !== undefined) {\n hex = hex.padStart(nWidth, cFlags & ZERO ? "0" : " ");\n }\n if (cFlags & HASH) {\n hex = `0x${hex}`;\n }\n return hex;\n }\n if (nPrecision) {\n nPrecision = parseInt(nPrecision.substring(1));\n }\n nDecSep = nDecSep ? nDecSep.substring(1) : "0";\n const separators = {\n 0: [",", "."],\n 1: ["", "."],\n 2: [".", ","],\n 3: ["", ","],\n 4: ["\'", "."]\n };\n const [thousandSep, decimalSep] = separators[nDecSep];\n let decPart = "";\n if (cConvChar === "f") {\n decPart = nPrecision !== undefined ? Math.abs(arg - intPart).toFixed(nPrecision) : Math.abs(arg - intPart).toString();\n if (decPart.length > 2) {\n decPart = `${decimalSep}${decPart.substring(2)}`;\n } else {\n if (decPart === "1") {\n intPart += Math.sign(arg);\n }\n decPart = cFlags & HASH ? "." : "";\n }\n }\n let sign = "";\n if (intPart < 0) {\n sign = "-";\n intPart = -intPart;\n } else if (cFlags & PLUS) {\n sign = "+";\n } else if (cFlags & SPACE) {\n sign = " ";\n }\n if (thousandSep && intPart >= 1000) {\n const buf = [];\n while (true) {\n buf.push((intPart % 1000).toString().padStart(3, "0"));\n intPart = Math.trunc(intPart / 1000);\n if (intPart < 1000) {\n buf.push(intPart.toString());\n break;\n }\n }\n intPart = buf.reverse().join(thousandSep);\n } else {\n intPart = intPart.toString();\n }\n let n = `${intPart}${decPart}`;\n if (nWidth !== undefined) {\n n = n.padStart(nWidth - sign.length, cFlags & ZERO ? "0" : " ");\n }\n return `${sign}${n}`;\n });\n }\n iconStreamFromIcon() {}\n printd(cFormat, oDate) {\n switch (cFormat) {\n case 0:\n return this.printd("D:yyyymmddHHMMss", oDate);\n case 1:\n return this.printd("yyyy.mm.dd HH:MM:ss", oDate);\n case 2:\n return this.printd("m/d/yy h:MM:ss tt", oDate);\n }\n const handlers = {\n mmmm: data => {\n return this._months[data.month];\n },\n mmm: data => {\n return this._months[data.month].substring(0, 3);\n },\n mm: data => {\n return (data.month + 1).toString().padStart(2, "0");\n },\n m: data => {\n return (data.month + 1).toString();\n },\n dddd: data => {\n return this._days[data.dayOfWeek];\n },\n ddd: data => {\n return this._days[data.dayOfWeek].substring(0, 3);\n },\n dd: data => {\n return data.day.toString().padStart(2, "0");\n },\n d: data => {\n return data.day.toString();\n },\n yyyy: data => {\n return data.year.toString();\n },\n yy: data => {\n return (data.year % 100).toString().padStart(2, "0");\n },\n HH: data => {\n return data.hours.toString().padStart(2, "0");\n },\n H: data => {\n return data.hours.toString();\n },\n hh: data => {\n return (1 + (data.hours + 11) % 12).toString().padStart(2, "0");\n },\n h: data => {\n return (1 + (data.hours + 11) % 12).toString();\n },\n MM: data => {\n return data.minutes.toString().padStart(2, "0");\n },\n M: data => {\n return data.minutes.toString();\n },\n ss: data => {\n return data.seconds.toString().padStart(2, "0");\n },\n s: data => {\n return data.seconds.toString();\n },\n tt: data => {\n return data.hours < 12 ? "am" : "pm";\n },\n t: data => {\n return data.hours < 12 ? "a" : "p";\n }\n };\n const data = {\n year: oDate.getFullYear(),\n month: oDate.getMonth(),\n day: oDate.getDate(),\n dayOfWeek: oDate.getDay(),\n hours: oDate.getHours(),\n minutes: oDate.getMinutes(),\n seconds: oDate.getSeconds()\n };\n const patterns = /(mmmm|mmm|mm|m|dddd|ddd|dd|d|yyyy|yy|HH|H|hh|h|MM|M|ss|s|tt|t|\\\\.)/g;\n return cFormat.replaceAll(patterns, function (match, pattern) {\n if (pattern in handlers) {\n return handlers[pattern](data);\n }\n return pattern.charCodeAt(1);\n });\n }\n printx(cFormat, cSource) {\n cSource = (cSource ?? "").toString();\n const handlers = [x => x, x => x.toUpperCase(), x => x.toLowerCase()];\n const buf = [];\n let i = 0;\n const ii = cSource.length;\n let currCase = handlers[0];\n let escaped = false;\n for (const command of cFormat) {\n if (escaped) {\n buf.push(command);\n escaped = false;\n continue;\n }\n if (i >= ii) {\n break;\n }\n switch (command) {\n case "?":\n buf.push(currCase(cSource.charAt(i++)));\n break;\n case "X":\n while (i < ii) {\n const char = cSource.charAt(i++);\n if ("a" <= char && char <= "z" || "A" <= char && char <= "Z" || "0" <= char && char <= "9") {\n buf.push(currCase(char));\n break;\n }\n }\n break;\n case "A":\n while (i < ii) {\n const char = cSource.charAt(i++);\n if ("a" <= char && char <= "z" || "A" <= char && char <= "Z") {\n buf.push(currCase(char));\n break;\n }\n }\n break;\n case "9":\n while (i < ii) {\n const char = cSource.charAt(i++);\n if ("0" <= char && char <= "9") {\n buf.push(char);\n break;\n }\n }\n break;\n case "*":\n while (i < ii) {\n buf.push(currCase(cSource.charAt(i++)));\n }\n break;\n case "\\\\":\n escaped = true;\n break;\n case ">":\n currCase = handlers[1];\n break;\n case "<":\n currCase = handlers[2];\n break;\n case "=":\n currCase = handlers[0];\n break;\n default:\n buf.push(command);\n }\n }\n return buf.join("");\n }\n scand(cFormat, cDate) {\n if (typeof cDate !== "string") {\n return new Date(cDate);\n }\n if (cDate === "") {\n return new Date();\n }\n switch (cFormat) {\n case 0:\n return this.scand("D:yyyymmddHHMMss", cDate);\n case 1:\n return this.scand("yyyy.mm.dd HH:MM:ss", cDate);\n case 2:\n return this.scand("m/d/yy h:MM:ss tt", cDate);\n }\n if (!this._scandCache.has(cFormat)) {\n const months = this._months;\n const days = this._days;\n const handlers = {\n mmmm: {\n pattern: `(${months.join("|")})`,\n action: (value, data) => {\n data.month = months.indexOf(value);\n }\n },\n mmm: {\n pattern: `(${months.map(month => month.substring(0, 3)).join("|")})`,\n action: (value, data) => {\n data.month = months.findIndex(month => month.substring(0, 3) === value);\n }\n },\n mm: {\n pattern: `(\\\\d{2})`,\n action: (value, data) => {\n data.month = parseInt(value) - 1;\n }\n },\n m: {\n pattern: `(\\\\d{1,2})`,\n action: (value, data) => {\n data.month = parseInt(value) - 1;\n }\n },\n dddd: {\n pattern: `(${days.join("|")})`,\n action: (value, data) => {\n data.day = days.indexOf(value);\n }\n },\n ddd: {\n pattern: `(${days.map(day => day.substring(0, 3)).join("|")})`,\n action: (value, data) => {\n data.day = days.findIndex(day => day.substring(0, 3) === value);\n }\n },\n dd: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.day = parseInt(value);\n }\n },\n d: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.day = parseInt(value);\n }\n },\n yyyy: {\n pattern: "(\\\\d{4})",\n action: (value, data) => {\n data.year = parseInt(value);\n }\n },\n yy: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.year = 2000 + parseInt(value);\n }\n },\n HH: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.hours = parseInt(value);\n }\n },\n H: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.hours = parseInt(value);\n }\n },\n hh: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.hours = parseInt(value);\n }\n },\n h: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.hours = parseInt(value);\n }\n },\n MM: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.minutes = parseInt(value);\n }\n },\n M: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.minutes = parseInt(value);\n }\n },\n ss: {\n pattern: "(\\\\d{2})",\n action: (value, data) => {\n data.seconds = parseInt(value);\n }\n },\n s: {\n pattern: "(\\\\d{1,2})",\n action: (value, data) => {\n data.seconds = parseInt(value);\n }\n },\n tt: {\n pattern: "([aApP][mM])",\n action: (value, data) => {\n const char = value.charAt(0);\n data.am = char === "a" || char === "A";\n }\n },\n t: {\n pattern: "([aApP])",\n action: (value, data) => {\n data.am = value === "a" || value === "A";\n }\n }\n };\n const escapedFormat = cFormat.replaceAll(/[.*+\\-?^${}()|[\\]\\\\]/g, "\\\\$&");\n const patterns = /(mmmm|mmm|mm|m|dddd|ddd|dd|d|yyyy|yy|HH|H|hh|h|MM|M|ss|s|tt|t)/g;\n const actions = [];\n const re = escapedFormat.replaceAll(patterns, function (match, patternElement) {\n const {\n pattern,\n action\n } = handlers[patternElement];\n actions.push(action);\n return pattern;\n });\n this._scandCache.set(cFormat, [re, actions]);\n }\n const [re, actions] = this._scandCache.get(cFormat);\n const matches = new RegExp(`^${re}$`, "g").exec(cDate);\n if (!matches || matches.length !== actions.length + 1) {\n return null;\n }\n const data = {\n year: 2000,\n month: 0,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n am: null\n };\n actions.forEach((action, i) => action(matches[i + 1], data));\n if (data.am !== null) {\n data.hours = data.hours % 12 + (data.am ? 0 : 12);\n }\n return new Date(data.year, data.month, data.day, data.hours, data.minutes, data.seconds);\n }\n spansToXML() {}\n stringFromStream() {}\n xmlToSpans() {}\n}\n\n;// CONCATENATED MODULE: ./src/scripting_api/initialization.js\n\n\n\n\n\n\n\n\n\n\nfunction initSandbox(params) {\n delete globalThis.pdfjsScripting;\n const externalCall = globalThis.callExternalFunction;\n delete globalThis.callExternalFunction;\n const globalEval = code => globalThis.eval(code);\n const send = data => externalCall("send", [data]);\n const proxyHandler = new ProxyHandler();\n const {\n data\n } = params;\n const doc = new Doc({\n send,\n globalEval,\n ...data.docInfo\n });\n const _document = {\n obj: doc,\n wrapped: new Proxy(doc, proxyHandler)\n };\n const app = new App({\n send,\n globalEval,\n externalCall,\n _document,\n calculationOrder: data.calculationOrder,\n proxyHandler,\n ...data.appInfo\n });\n const util = new Util({\n externalCall\n });\n const appObjects = app._objects;\n if (data.objects) {\n const annotations = [];\n for (const [name, objs] of Object.entries(data.objects)) {\n annotations.length = 0;\n let container = null;\n for (const obj of objs) {\n if (obj.type !== "") {\n annotations.push(obj);\n } else {\n container = obj;\n }\n }\n let obj = container;\n if (annotations.length > 0) {\n obj = annotations[0];\n obj.send = send;\n }\n obj.globalEval = globalEval;\n obj.doc = _document;\n obj.fieldPath = name;\n obj.appObjects = appObjects;\n let field;\n switch (obj.type) {\n case "radiobutton":\n {\n const otherButtons = annotations.slice(1);\n field = new RadioButtonField(otherButtons, obj);\n break;\n }\n case "checkbox":\n {\n const otherButtons = annotations.slice(1);\n field = new CheckboxField(otherButtons, obj);\n break;\n }\n case "text":\n if (annotations.length <= 1) {\n field = new Field(obj);\n break;\n }\n obj.siblings = annotations.map(x => x.id).slice(1);\n field = new Field(obj);\n break;\n default:\n field = new Field(obj);\n }\n const wrapped = new Proxy(field, proxyHandler);\n const _object = {\n obj: field,\n wrapped\n };\n doc._addField(name, _object);\n for (const object of objs) {\n appObjects[object.id] = _object;\n }\n if (container) {\n appObjects[container.id] = _object;\n }\n }\n }\n const color = new Color();\n globalThis.event = null;\n globalThis.global = Object.create(null);\n globalThis.app = new Proxy(app, proxyHandler);\n globalThis.color = new Proxy(color, proxyHandler);\n globalThis.console = new Proxy(new Console({\n send\n }), proxyHandler);\n globalThis.util = new Proxy(util, proxyHandler);\n globalThis.border = Border;\n globalThis.cursor = Cursor;\n globalThis.display = Display;\n globalThis.font = Font;\n globalThis.highlight = Highlight;\n globalThis.position = Position;\n globalThis.scaleHow = ScaleHow;\n globalThis.scaleWhen = ScaleWhen;\n globalThis.style = Style;\n globalThis.trans = Trans;\n globalThis.zoomtype = ZoomType;\n globalThis.ADBE = {\n Reader_Value_Asked: true,\n Viewer_Value_Asked: true\n };\n const aform = new AForm(doc, app, util, color);\n for (const name of Object.getOwnPropertyNames(AForm.prototype)) {\n if (name !== "constructor" && !name.startsWith("_")) {\n globalThis[name] = aform[name].bind(aform);\n }\n }\n for (const [name, value] of Object.entries(GlobalConstants)) {\n Object.defineProperty(globalThis, name, {\n value,\n writable: false\n });\n }\n Object.defineProperties(globalThis, {\n ColorConvert: {\n value: color.convert.bind(color),\n writable: true\n },\n ColorEqual: {\n value: color.equal.bind(color),\n writable: true\n }\n });\n const properties = Object.create(null);\n for (const name of Object.getOwnPropertyNames(Doc.prototype)) {\n if (name === "constructor" || name.startsWith("_")) {\n continue;\n }\n const descriptor = Object.getOwnPropertyDescriptor(Doc.prototype, name);\n if (descriptor.get) {\n properties[name] = {\n get: descriptor.get.bind(doc),\n set: descriptor.set.bind(doc)\n };\n } else {\n properties[name] = {\n value: Doc.prototype[name].bind(doc)\n };\n }\n }\n Object.defineProperties(globalThis, properties);\n const functions = {\n dispatchEvent: app._dispatchEvent.bind(app),\n timeoutCb: app._evalCallback.bind(app)\n };\n return (name, args) => {\n try {\n functions[name](args);\n } catch (error) {\n send(serializeError(error));\n }\n };\n}\n\n;// CONCATENATED MODULE: ./src/pdf.scripting.js\n\nconst pdfjsVersion = \'4.0.401\';\nconst pdfjsBuild = \'125478d0e\';\nglobalThis.pdfjsScripting = {\n initSandbox: initSandbox\n};\n']; code.push("delete dump;"); let success = false; let buf = 0; diff --git a/build/generic/build/pdf.worker.mjs b/build/generic/build/pdf.worker.mjs index 4c4754f5d5a26..813c28f2b2ed6 100644 --- a/build/generic/build/pdf.worker.mjs +++ b/build/generic/build/pdf.worker.mjs @@ -56594,7 +56594,7 @@ class WorkerMessageHandler { docId, apiVersion } = docParams; - const workerVersion = '4.0.385'; + const workerVersion = '4.0.401'; if (apiVersion !== workerVersion) { throw new Error(`The API version "${apiVersion}" does not match ` + `the Worker version "${workerVersion}".`); } @@ -57162,8 +57162,8 @@ if (typeof window === "undefined" && !isNodeJS && typeof self !== "undefined" && ;// CONCATENATED MODULE: ./src/pdf.worker.js -const pdfjsVersion = '4.0.385'; -const pdfjsBuild = 'af3f8cc66'; +const pdfjsVersion = '4.0.401'; +const pdfjsBuild = '125478d0e'; var __webpack_exports__WorkerMessageHandler = __webpack_exports__.WorkerMessageHandler; export { __webpack_exports__WorkerMessageHandler as WorkerMessageHandler }; diff --git a/build/generic/web/viewer.mjs b/build/generic/web/viewer.mjs index 3ca4d6cf675a8..140387511c9a3 100644 --- a/build/generic/web/viewer.mjs +++ b/build/generic/web/viewer.mjs @@ -11154,7 +11154,7 @@ class PDFViewer { #scaleTimeoutId = null; #textLayerMode = _ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.TextLayerMode.ENABLE; constructor(options) { - const viewerVersion = '4.0.385'; + const viewerVersion = '4.0.401'; if (pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.version !== viewerVersion) { throw new Error(`The API version "${pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.version}" does not match the Viewer version "${viewerVersion}".`); } @@ -12879,10 +12879,10 @@ _pdf_viewer_js__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.th class SecondaryToolbar { + #opts; constructor(options, eventBus) { - this.toolbar = options.toolbar; - this.toggleButton = options.toggleButton; - this.buttons = [{ + this.#opts = options; + const buttons = [{ element: options.presentationModeButton, eventName: "presentationmode", close: true @@ -12982,23 +12982,14 @@ class SecondaryToolbar { eventName: "documentproperties", close: true }]; - this.buttons.push({ + buttons.push({ element: options.openFileButton, eventName: "openfile", close: true }); - this.items = { - firstPage: options.firstPageButton, - lastPage: options.lastPageButton, - pageRotateCw: options.pageRotateCwButton, - pageRotateCcw: options.pageRotateCcwButton - }; this.eventBus = eventBus; this.opened = false; - this.#bindClickListeners(); - this.#bindCursorToolsListener(options); - this.#bindScrollModeListener(options); - this.#bindSpreadModeListener(options); + this.#bindListeners(buttons); this.reset(); } get isOpen() { @@ -13016,27 +13007,42 @@ class SecondaryToolbar { this.pageNumber = 0; this.pagesCount = 0; this.#updateUIState(); - this.eventBus.dispatch("secondarytoolbarreset", { - source: this + this.#scrollModeChanged({ + mode: _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.VERTICAL + }); + this.#spreadModeChanged({ + mode: _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.SpreadMode.NONE }); } #updateUIState() { - this.items.firstPage.disabled = this.pageNumber <= 1; - this.items.lastPage.disabled = this.pageNumber >= this.pagesCount; - this.items.pageRotateCw.disabled = this.pagesCount === 0; - this.items.pageRotateCcw.disabled = this.pagesCount === 0; - } - #bindClickListeners() { - this.toggleButton.addEventListener("click", this.toggle.bind(this)); + const { + firstPageButton, + lastPageButton, + pageRotateCwButton, + pageRotateCcwButton + } = this.#opts; + firstPageButton.disabled = this.pageNumber <= 1; + lastPageButton.disabled = this.pageNumber >= this.pagesCount; + pageRotateCwButton.disabled = this.pagesCount === 0; + pageRotateCcwButton.disabled = this.pagesCount === 0; + } + #bindListeners(buttons) { + const { + eventBus + } = this; + const { + toggleButton + } = this.#opts; + toggleButton.addEventListener("click", this.toggle.bind(this)); for (const { element, eventName, close, eventDetails - } of this.buttons) { + } of buttons) { element.addEventListener("click", evt => { if (eventName !== null) { - this.eventBus.dispatch(eventName, { + eventBus.dispatch(eventName, { source: this, ...eventDetails }); @@ -13044,7 +13050,7 @@ class SecondaryToolbar { if (close) { this.close(); } - this.eventBus.dispatch("reporttelemetry", { + eventBus.dispatch("reporttelemetry", { source: this, details: { type: "buttons", @@ -13055,87 +13061,79 @@ class SecondaryToolbar { }); }); } + eventBus._on("cursortoolchanged", this.#cursorToolChanged.bind(this)); + eventBus._on("scrollmodechanged", this.#scrollModeChanged.bind(this)); + eventBus._on("spreadmodechanged", this.#spreadModeChanged.bind(this)); } - #bindCursorToolsListener({ - cursorSelectToolButton, - cursorHandToolButton + #cursorToolChanged({ + tool }) { - this.eventBus._on("cursortoolchanged", ({ - tool - }) => { - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(cursorSelectToolButton, tool === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.CursorTool.SELECT); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(cursorHandToolButton, tool === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.CursorTool.HAND); - }); - } - #bindScrollModeListener({ - scrollPageButton, - scrollVerticalButton, - scrollHorizontalButton, - scrollWrappedButton, - spreadNoneButton, - spreadOddButton, - spreadEvenButton + const { + cursorSelectToolButton, + cursorHandToolButton + } = this.#opts; + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(cursorSelectToolButton, tool === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.CursorTool.SELECT); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(cursorHandToolButton, tool === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.CursorTool.HAND); + } + #scrollModeChanged({ + mode }) { - const scrollModeChanged = ({ - mode - }) => { - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(scrollPageButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.PAGE); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(scrollVerticalButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.VERTICAL); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(scrollHorizontalButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.HORIZONTAL); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(scrollWrappedButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.WRAPPED); - const forceScrollModePage = this.pagesCount > _pdf_viewer_js__WEBPACK_IMPORTED_MODULE_1__.PagesCountLimit.FORCE_SCROLL_MODE_PAGE; - scrollPageButton.disabled = forceScrollModePage; - scrollVerticalButton.disabled = forceScrollModePage; - scrollHorizontalButton.disabled = forceScrollModePage; - scrollWrappedButton.disabled = forceScrollModePage; - const isHorizontal = mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.HORIZONTAL; - spreadNoneButton.disabled = isHorizontal; - spreadOddButton.disabled = isHorizontal; - spreadEvenButton.disabled = isHorizontal; - }; - this.eventBus._on("scrollmodechanged", scrollModeChanged); - this.eventBus._on("secondarytoolbarreset", evt => { - if (evt.source === this) { - scrollModeChanged({ - mode: _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.VERTICAL - }); - } - }); - } - #bindSpreadModeListener({ - spreadNoneButton, - spreadOddButton, - spreadEvenButton + const { + scrollPageButton, + scrollVerticalButton, + scrollHorizontalButton, + scrollWrappedButton, + spreadNoneButton, + spreadOddButton, + spreadEvenButton + } = this.#opts; + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(scrollPageButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.PAGE); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(scrollVerticalButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.VERTICAL); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(scrollHorizontalButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.HORIZONTAL); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(scrollWrappedButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.WRAPPED); + const forceScrollModePage = this.pagesCount > _pdf_viewer_js__WEBPACK_IMPORTED_MODULE_1__.PagesCountLimit.FORCE_SCROLL_MODE_PAGE; + scrollPageButton.disabled = forceScrollModePage; + scrollVerticalButton.disabled = forceScrollModePage; + scrollHorizontalButton.disabled = forceScrollModePage; + scrollWrappedButton.disabled = forceScrollModePage; + const isHorizontal = mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.ScrollMode.HORIZONTAL; + spreadNoneButton.disabled = isHorizontal; + spreadOddButton.disabled = isHorizontal; + spreadEvenButton.disabled = isHorizontal; + } + #spreadModeChanged({ + mode }) { - const spreadModeChanged = ({ - mode - }) => { - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(spreadNoneButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.SpreadMode.NONE); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(spreadOddButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.SpreadMode.ODD); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(spreadEvenButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.SpreadMode.EVEN); - }; - this.eventBus._on("spreadmodechanged", spreadModeChanged); - this.eventBus._on("secondarytoolbarreset", evt => { - if (evt.source === this) { - spreadModeChanged({ - mode: _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.SpreadMode.NONE - }); - } - }); + const { + spreadNoneButton, + spreadOddButton, + spreadEvenButton + } = this.#opts; + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(spreadNoneButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.SpreadMode.NONE); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(spreadOddButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.SpreadMode.ODD); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleCheckedBtn)(spreadEvenButton, mode === _ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.SpreadMode.EVEN); } open() { if (this.opened) { return; } this.opened = true; - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleExpandedBtn)(this.toggleButton, true, this.toolbar); + const { + toggleButton, + toolbar + } = this.#opts; + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleExpandedBtn)(toggleButton, true, toolbar); } close() { if (!this.opened) { return; } this.opened = false; - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleExpandedBtn)(this.toggleButton, false, this.toolbar); + const { + toggleButton, + toolbar + } = this.#opts; + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_0__.toggleExpandedBtn)(toggleButton, false, toolbar); } toggle() { if (this.opened) { @@ -13842,10 +13840,11 @@ pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? class Toolbar { + #opts; constructor(options, eventBus) { - this.toolbar = options.container; + this.#opts = options; this.eventBus = eventBus; - this.buttons = [{ + const buttons = [{ element: options.previous, eventName: "previouspage" }, { @@ -13908,19 +13907,9 @@ class Toolbar { } } }]; - this.items = { - numPages: options.numPages, - pageNumber: options.pageNumber, - scaleSelect: options.scaleSelect, - customScaleOption: options.customScaleOption, - previous: options.previous, - next: options.next, - zoomIn: options.zoomIn, - zoomOut: options.zoomOut - }; - this.#bindListeners(options); + this.#bindListeners(buttons); if (options.editorHighlightColorPicker) { - this.eventBus._on("annotationeditoruimanager", ({ + eventBus._on("annotationeditoruimanager", ({ uiManager }) => { this.#setAnnotationEditorUIManager(uiManager, options.editorHighlightColorPicker); @@ -13961,24 +13950,27 @@ class Toolbar { this.pageScale = _ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_SCALE; this.#updateUIState(true); this.updateLoadingIndicatorState(); - this.eventBus.dispatch("toolbarreset", { - source: this + this.#editorModeChanged({ + mode: pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.DISABLE }); } - #bindListeners(options) { + #bindListeners(buttons) { + const { + eventBus + } = this; const { pageNumber, scaleSelect - } = this.items; + } = this.#opts; const self = this; for (const { element, eventName, eventDetails - } of this.buttons) { + } of buttons) { element.addEventListener("click", evt => { if (eventName !== null) { - this.eventBus.dispatch(eventName, { + eventBus.dispatch(eventName, { source: this, ...eventDetails, isFromKeyboard: evt.detail === 0 @@ -13990,7 +13982,7 @@ class Toolbar { this.select(); }); pageNumber.addEventListener("change", function () { - self.eventBus.dispatch("pagenumberchanged", { + eventBus.dispatch("pagenumberchanged", { source: self, value: this.value }); @@ -13999,88 +13991,80 @@ class Toolbar { if (this.value === "custom") { return; } - self.eventBus.dispatch("scalechanged", { + eventBus.dispatch("scalechanged", { source: self, value: this.value }); }); - scaleSelect.addEventListener("click", function (evt) { - const target = evt.target; + scaleSelect.addEventListener("click", function ({ + target + }) { if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") { this.blur(); } }); scaleSelect.oncontextmenu = pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.noContextMenu; - this.#bindEditorToolsListener(options); - } - #bindEditorToolsListener({ - editorFreeTextButton, - editorFreeTextParamsToolbar, - editorHighlightButton, - editorHighlightParamsToolbar, - editorInkButton, - editorInkParamsToolbar, - editorStampButton, - editorStampParamsToolbar + eventBus._on("annotationeditormodechanged", this.#editorModeChanged.bind(this)); + } + #editorModeChanged({ + mode }) { - const editorModeChanged = ({ - mode - }) => { - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.toggleCheckedBtn)(editorFreeTextButton, mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.FREETEXT, editorFreeTextParamsToolbar); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.toggleCheckedBtn)(editorHighlightButton, mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.HIGHLIGHT, editorHighlightParamsToolbar); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.toggleCheckedBtn)(editorInkButton, mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.INK, editorInkParamsToolbar); - (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.toggleCheckedBtn)(editorStampButton, mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.STAMP, editorStampParamsToolbar); - const isDisable = mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.DISABLE; - editorFreeTextButton.disabled = isDisable; - editorHighlightButton.disabled = isDisable; - editorInkButton.disabled = isDisable; - editorStampButton.disabled = isDisable; - }; - this.eventBus._on("annotationeditormodechanged", editorModeChanged); - this.eventBus._on("toolbarreset", evt => { - if (evt.source === this) { - editorModeChanged({ - mode: pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.DISABLE - }); - } - }); + const { + editorFreeTextButton, + editorFreeTextParamsToolbar, + editorHighlightButton, + editorHighlightParamsToolbar, + editorInkButton, + editorInkParamsToolbar, + editorStampButton, + editorStampParamsToolbar + } = this.#opts; + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.toggleCheckedBtn)(editorFreeTextButton, mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.FREETEXT, editorFreeTextParamsToolbar); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.toggleCheckedBtn)(editorHighlightButton, mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.HIGHLIGHT, editorHighlightParamsToolbar); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.toggleCheckedBtn)(editorInkButton, mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.INK, editorInkParamsToolbar); + (0,_ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.toggleCheckedBtn)(editorStampButton, mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.STAMP, editorStampParamsToolbar); + const isDisable = mode === pdfjs_lib__WEBPACK_IMPORTED_MODULE_0__.AnnotationEditorType.DISABLE; + editorFreeTextButton.disabled = isDisable; + editorHighlightButton.disabled = isDisable; + editorInkButton.disabled = isDisable; + editorStampButton.disabled = isDisable; } #updateUIState(resetNumPages = false) { const { pageNumber, pagesCount, pageScaleValue, - pageScale, - items + pageScale } = this; + const opts = this.#opts; if (resetNumPages) { if (this.hasPageLabels) { - items.pageNumber.type = "text"; - items.numPages.setAttribute("data-l10n-id", "pdfjs-page-of-pages"); + opts.pageNumber.type = "text"; + opts.numPages.setAttribute("data-l10n-id", "pdfjs-page-of-pages"); } else { - items.pageNumber.type = "number"; - items.numPages.setAttribute("data-l10n-id", "pdfjs-of-pages"); - items.numPages.setAttribute("data-l10n-args", JSON.stringify({ + opts.pageNumber.type = "number"; + opts.numPages.setAttribute("data-l10n-id", "pdfjs-of-pages"); + opts.numPages.setAttribute("data-l10n-args", JSON.stringify({ pagesCount })); } - items.pageNumber.max = pagesCount; + opts.pageNumber.max = pagesCount; } if (this.hasPageLabels) { - items.pageNumber.value = this.pageLabel; - items.numPages.setAttribute("data-l10n-args", JSON.stringify({ + opts.pageNumber.value = this.pageLabel; + opts.numPages.setAttribute("data-l10n-args", JSON.stringify({ pageNumber, pagesCount })); } else { - items.pageNumber.value = pageNumber; + opts.pageNumber.value = pageNumber; } - items.previous.disabled = pageNumber <= 1; - items.next.disabled = pageNumber >= pagesCount; - items.zoomOut.disabled = pageScale <= _ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.MIN_SCALE; - items.zoomIn.disabled = pageScale >= _ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.MAX_SCALE; + opts.previous.disabled = pageNumber <= 1; + opts.next.disabled = pageNumber >= pagesCount; + opts.zoomOut.disabled = pageScale <= _ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.MIN_SCALE; + opts.zoomIn.disabled = pageScale >= _ui_utils_js__WEBPACK_IMPORTED_MODULE_1__.MAX_SCALE; let predefinedValueFound = false; - for (const option of items.scaleSelect.options) { + for (const option of opts.scaleSelect.options) { if (option.value !== pageScaleValue) { option.selected = false; continue; @@ -14089,8 +14073,8 @@ class Toolbar { predefinedValueFound = true; } if (!predefinedValueFound) { - items.customScaleOption.selected = true; - items.customScaleOption.setAttribute("data-l10n-args", JSON.stringify({ + opts.customScaleOption.selected = true; + opts.customScaleOption.setAttribute("data-l10n-args", JSON.stringify({ scale: Math.round(pageScale * 10000) / 100 })); } @@ -14098,7 +14082,7 @@ class Toolbar { updateLoadingIndicatorState(loading = false) { const { pageNumber - } = this.items; + } = this.#opts; pageNumber.classList.toggle("loading", loading); } } @@ -14734,8 +14718,8 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([web_ -const pdfjsVersion = '4.0.385'; -const pdfjsBuild = 'af3f8cc66'; +const pdfjsVersion = '4.0.401'; +const pdfjsBuild = '125478d0e'; const AppConstants = { LinkTarget: _pdf_link_service_js__WEBPACK_IMPORTED_MODULE_4__.LinkTarget, RenderingStates: _ui_utils_js__WEBPACK_IMPORTED_MODULE_2__.RenderingStates, diff --git a/build/generic/web/viewer.mjs.map b/build/generic/web/viewer.mjs.map index f7957359ac5f1..32f87054e3559 100644 --- a/build/generic/web/viewer.mjs.map +++ b/build/generic/web/viewer.mjs.map @@ -1 +1 @@ -{"version":3,"file":"viewer.mjs","mappings":"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","sources":["webpack://pdf.js/node_modules/@fluent/bundle/esm/types.js","webpack://pdf.js/node_modules/@fluent/bundle/esm/resolver.js","webpack://pdf.js/node_modules/@fluent/bundle/esm/scope.js","webpack://pdf.js/node_modules/@fluent/bundle/esm/builtins.js","webpack://pdf.js/node_modules/@fluent/bundle/esm/memoizer.js","webpack://pdf.js/node_modules/@fluent/bundle/esm/bundle.js","webpack://pdf.js/node_modules/@fluent/bundle/esm/resource.js","webpack://pdf.js/node_modules/@fluent/bundle/esm/index.js","webpack://pdf.js/node_modules/@fluent/dom/esm/overlay.js","webpack://pdf.js/node_modules/cached-iterable/src/cached_iterable.mjs","webpack://pdf.js/node_modules/cached-iterable/src/cached_sync_iterable.mjs","webpack://pdf.js/node_modules/cached-iterable/src/cached_async_iterable.mjs","webpack://pdf.js/node_modules/cached-iterable/src/index.mjs","webpack://pdf.js/node_modules/@fluent/dom/esm/localization.js","webpack://pdf.js/node_modules/@fluent/dom/esm/dom_localization.js","webpack://pdf.js/node_modules/@fluent/dom/esm/index.js","webpack://pdf.js/web/alt_text_manager.js","webpack://pdf.js/web/annotation_editor_layer_builder.js","webpack://pdf.js/web/annotation_editor_params.js","webpack://pdf.js/web/annotation_layer_builder.js","webpack://pdf.js/web/app.js","webpack://pdf.js/web/app_options.js","webpack://pdf.js/web/base_tree_viewer.js","webpack://pdf.js/web/download_manager.js","webpack://pdf.js/web/draw_layer_builder.js","webpack://pdf.js/web/event_utils.js","webpack://pdf.js/web/generic_scripting.js","webpack://pdf.js/web/genericcom.js","webpack://pdf.js/web/genericl10n.js","webpack://pdf.js/web/grab_to_pan.js","webpack://pdf.js/web/l10n.js","webpack://pdf.js/web/l10n_utils.js","webpack://pdf.js/web/overlay_manager.js","webpack://pdf.js/web/password_prompt.js","webpack://pdf.js/web/pdf_attachment_viewer.js","webpack://pdf.js/web/pdf_cursor_tools.js","webpack://pdf.js/web/pdf_document_properties.js","webpack://pdf.js/web/pdf_find_bar.js","webpack://pdf.js/web/pdf_find_controller.js","webpack://pdf.js/web/pdf_find_utils.js","webpack://pdf.js/web/pdf_history.js","webpack://pdf.js/web/pdf_layer_viewer.js","webpack://pdf.js/web/pdf_link_service.js","webpack://pdf.js/web/pdf_outline_viewer.js","webpack://pdf.js/web/pdf_page_view.js","webpack://pdf.js/web/pdf_presentation_mode.js","webpack://pdf.js/web/pdf_print_service.js","webpack://pdf.js/web/pdf_rendering_queue.js","webpack://pdf.js/web/pdf_scripting_manager.js","webpack://pdf.js/web/pdf_sidebar.js","webpack://pdf.js/web/pdf_thumbnail_view.js","webpack://pdf.js/web/pdf_thumbnail_viewer.js","webpack://pdf.js/web/pdf_viewer.js","webpack://pdf.js/web/pdfjs.js","webpack://pdf.js/web/preferences.js","webpack://pdf.js/web/print_utils.js","webpack://pdf.js/web/secondary_toolbar.js","webpack://pdf.js/web/struct_tree_layer_builder.js","webpack://pdf.js/web/text_accessibility.js","webpack://pdf.js/web/text_highlighter.js","webpack://pdf.js/web/text_layer_builder.js","webpack://pdf.js/web/toolbar.js","webpack://pdf.js/web/ui_utils.js","webpack://pdf.js/web/view_history.js","webpack://pdf.js/web/viewer.js","webpack://pdf.js/web/xfa_layer_builder.js","webpack://pdf.js/webpack/bootstrap","webpack://pdf.js/webpack/runtime/async module","webpack://pdf.js/webpack/runtime/define property getters","webpack://pdf.js/webpack/runtime/hasOwnProperty shorthand","webpack://pdf.js/webpack/before-startup","webpack://pdf.js/webpack/startup","webpack://pdf.js/webpack/after-startup"],"sourcesContent":["/**\n * The `FluentType` class is the base of Fluent's type system.\n *\n * Fluent types wrap JavaScript values and store additional configuration for\n * them, which can then be used in the `toString` method together with a proper\n * `Intl` formatter.\n */\nexport class FluentType {\n /**\n * Create a `FluentType` instance.\n *\n * @param value The JavaScript value to wrap.\n */\n constructor(value) {\n this.value = value;\n }\n /**\n * Unwrap the raw value stored by this `FluentType`.\n */\n valueOf() {\n return this.value;\n }\n}\n/**\n * A `FluentType` representing no correct value.\n */\nexport class FluentNone extends FluentType {\n /**\n * Create an instance of `FluentNone` with an optional fallback value.\n * @param value The fallback value of this `FluentNone`.\n */\n constructor(value = \"???\") {\n super(value);\n }\n /**\n * Format this `FluentNone` to the fallback string.\n */\n toString(scope) {\n return `{${this.value}}`;\n }\n}\n/**\n * A `FluentType` representing a number.\n *\n * A `FluentNumber` instance stores the number value of the number it\n * represents. It may also store an option bag of options which will be passed\n * to `Intl.NumerFormat` when the `FluentNumber` is formatted to a string.\n */\nexport class FluentNumber extends FluentType {\n /**\n * Create an instance of `FluentNumber` with options to the\n * `Intl.NumberFormat` constructor.\n *\n * @param value The number value of this `FluentNumber`.\n * @param opts Options which will be passed to `Intl.NumberFormat`.\n */\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n /**\n * Format this `FluentNumber` to a string.\n */\n toString(scope) {\n try {\n const nf = scope.memoizeIntlObject(Intl.NumberFormat, this.opts);\n return nf.format(this.value);\n }\n catch (err) {\n scope.reportError(err);\n return this.value.toString(10);\n }\n }\n}\n/**\n * A `FluentType` representing a date and time.\n *\n * A `FluentDateTime` instance stores the number value of the date it\n * represents, as a numerical timestamp in milliseconds. It may also store an\n * option bag of options which will be passed to `Intl.DateTimeFormat` when the\n * `FluentDateTime` is formatted to a string.\n */\nexport class FluentDateTime extends FluentType {\n /**\n * Create an instance of `FluentDateTime` with options to the\n * `Intl.DateTimeFormat` constructor.\n *\n * @param value The number value of this `FluentDateTime`, in milliseconds.\n * @param opts Options which will be passed to `Intl.DateTimeFormat`.\n */\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n /**\n * Format this `FluentDateTime` to a string.\n */\n toString(scope) {\n try {\n const dtf = scope.memoizeIntlObject(Intl.DateTimeFormat, this.opts);\n return dtf.format(this.value);\n }\n catch (err) {\n scope.reportError(err);\n return new Date(this.value).toISOString();\n }\n }\n}\n","/* global Intl */\n/**\n * @overview\n *\n * The role of the Fluent resolver is to format a `Pattern` to an instance of\n * `FluentValue`. For performance reasons, primitive strings are considered\n * such instances, too.\n *\n * Translations can contain references to other messages or variables,\n * conditional logic in form of select expressions, traits which describe their\n * grammatical features, and can use Fluent builtins which make use of the\n * `Intl` formatters to format numbers and dates into the bundle's languages.\n * See the documentation of the Fluent syntax for more information.\n *\n * In case of errors the resolver will try to salvage as much of the\n * translation as possible. In rare situations where the resolver didn't know\n * how to recover from an error it will return an instance of `FluentNone`.\n *\n * All expressions resolve to an instance of `FluentValue`. The caller should\n * use the `toString` method to convert the instance to a native value.\n *\n * Functions in this file pass around an instance of the `Scope` class, which\n * stores the data required for successful resolution and error recovery.\n */\nimport { FluentType, FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\n/**\n * The maximum number of placeables which can be expanded in a single call to\n * `formatPattern`. The limit protects against the Billion Laughs and Quadratic\n * Blowup attacks. See https://msdn.microsoft.com/en-us/magazine/ee335713.aspx.\n */\nconst MAX_PLACEABLES = 100;\n/** Unicode bidi isolation characters. */\nconst FSI = \"\\u2068\";\nconst PDI = \"\\u2069\";\n/** Helper: match a variant key to the given selector. */\nfunction match(scope, selector, key) {\n if (key === selector) {\n // Both are strings.\n return true;\n }\n // XXX Consider comparing options too, e.g. minimumFractionDigits.\n if (key instanceof FluentNumber &&\n selector instanceof FluentNumber &&\n key.value === selector.value) {\n return true;\n }\n if (selector instanceof FluentNumber && typeof key === \"string\") {\n let category = scope\n .memoizeIntlObject(Intl.PluralRules, selector.opts)\n .select(selector.value);\n if (key === category) {\n return true;\n }\n }\n return false;\n}\n/** Helper: resolve the default variant from a list of variants. */\nfunction getDefault(scope, variants, star) {\n if (variants[star]) {\n return resolvePattern(scope, variants[star].value);\n }\n scope.reportError(new RangeError(\"No default\"));\n return new FluentNone();\n}\n/** Helper: resolve arguments to a call expression. */\nfunction getArguments(scope, args) {\n const positional = [];\n const named = Object.create(null);\n for (const arg of args) {\n if (arg.type === \"narg\") {\n named[arg.name] = resolveExpression(scope, arg.value);\n }\n else {\n positional.push(resolveExpression(scope, arg));\n }\n }\n return { positional, named };\n}\n/** Resolve an expression to a Fluent type. */\nfunction resolveExpression(scope, expr) {\n switch (expr.type) {\n case \"str\":\n return expr.value;\n case \"num\":\n return new FluentNumber(expr.value, {\n minimumFractionDigits: expr.precision,\n });\n case \"var\":\n return resolveVariableReference(scope, expr);\n case \"mesg\":\n return resolveMessageReference(scope, expr);\n case \"term\":\n return resolveTermReference(scope, expr);\n case \"func\":\n return resolveFunctionReference(scope, expr);\n case \"select\":\n return resolveSelectExpression(scope, expr);\n default:\n return new FluentNone();\n }\n}\n/** Resolve a reference to a variable. */\nfunction resolveVariableReference(scope, { name }) {\n let arg;\n if (scope.params) {\n // We're inside a TermReference. It's OK to reference undefined parameters.\n if (Object.prototype.hasOwnProperty.call(scope.params, name)) {\n arg = scope.params[name];\n }\n else {\n return new FluentNone(`$${name}`);\n }\n }\n else if (scope.args &&\n Object.prototype.hasOwnProperty.call(scope.args, name)) {\n // We're in the top-level Pattern or inside a MessageReference. Missing\n // variables references produce ReferenceErrors.\n arg = scope.args[name];\n }\n else {\n scope.reportError(new ReferenceError(`Unknown variable: $${name}`));\n return new FluentNone(`$${name}`);\n }\n // Return early if the argument already is an instance of FluentType.\n if (arg instanceof FluentType) {\n return arg;\n }\n // Convert the argument to a Fluent type.\n switch (typeof arg) {\n case \"string\":\n return arg;\n case \"number\":\n return new FluentNumber(arg);\n case \"object\":\n if (arg instanceof Date) {\n return new FluentDateTime(arg.getTime());\n }\n // eslint-disable-next-line no-fallthrough\n default:\n scope.reportError(new TypeError(`Variable type not supported: $${name}, ${typeof arg}`));\n return new FluentNone(`$${name}`);\n }\n}\n/** Resolve a reference to another message. */\nfunction resolveMessageReference(scope, { name, attr }) {\n const message = scope.bundle._messages.get(name);\n if (!message) {\n scope.reportError(new ReferenceError(`Unknown message: ${name}`));\n return new FluentNone(name);\n }\n if (attr) {\n const attribute = message.attributes[attr];\n if (attribute) {\n return resolvePattern(scope, attribute);\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${name}.${attr}`);\n }\n if (message.value) {\n return resolvePattern(scope, message.value);\n }\n scope.reportError(new ReferenceError(`No value: ${name}`));\n return new FluentNone(name);\n}\n/** Resolve a call to a Term with key-value arguments. */\nfunction resolveTermReference(scope, { name, attr, args }) {\n const id = `-${name}`;\n const term = scope.bundle._terms.get(id);\n if (!term) {\n scope.reportError(new ReferenceError(`Unknown term: ${id}`));\n return new FluentNone(id);\n }\n if (attr) {\n const attribute = term.attributes[attr];\n if (attribute) {\n // Every TermReference has its own variables.\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, attribute);\n scope.params = null;\n return resolved;\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${id}.${attr}`);\n }\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, term.value);\n scope.params = null;\n return resolved;\n}\n/** Resolve a call to a Function with positional and key-value arguments. */\nfunction resolveFunctionReference(scope, { name, args }) {\n // Some functions are built-in. Others may be provided by the runtime via\n // the `FluentBundle` constructor.\n let func = scope.bundle._functions[name];\n if (!func) {\n scope.reportError(new ReferenceError(`Unknown function: ${name}()`));\n return new FluentNone(`${name}()`);\n }\n if (typeof func !== \"function\") {\n scope.reportError(new TypeError(`Function ${name}() is not callable`));\n return new FluentNone(`${name}()`);\n }\n try {\n let resolved = getArguments(scope, args);\n return func(resolved.positional, resolved.named);\n }\n catch (err) {\n scope.reportError(err);\n return new FluentNone(`${name}()`);\n }\n}\n/** Resolve a select expression to the member object. */\nfunction resolveSelectExpression(scope, { selector, variants, star }) {\n let sel = resolveExpression(scope, selector);\n if (sel instanceof FluentNone) {\n return getDefault(scope, variants, star);\n }\n // Match the selector against keys of each variant, in order.\n for (const variant of variants) {\n const key = resolveExpression(scope, variant.key);\n if (match(scope, sel, key)) {\n return resolvePattern(scope, variant.value);\n }\n }\n return getDefault(scope, variants, star);\n}\n/** Resolve a pattern (a complex string with placeables). */\nexport function resolveComplexPattern(scope, ptn) {\n if (scope.dirty.has(ptn)) {\n scope.reportError(new RangeError(\"Cyclic reference\"));\n return new FluentNone();\n }\n // Tag the pattern as dirty for the purpose of the current resolution.\n scope.dirty.add(ptn);\n const result = [];\n // Wrap interpolations with Directional Isolate Formatting characters\n // only when the pattern has more than one element.\n const useIsolating = scope.bundle._useIsolating && ptn.length > 1;\n for (const elem of ptn) {\n if (typeof elem === \"string\") {\n result.push(scope.bundle._transform(elem));\n continue;\n }\n scope.placeables++;\n if (scope.placeables > MAX_PLACEABLES) {\n scope.dirty.delete(ptn);\n // This is a fatal error which causes the resolver to instantly bail out\n // on this pattern. The length check protects against excessive memory\n // usage, and throwing protects against eating up the CPU when long\n // placeables are deeply nested.\n throw new RangeError(`Too many placeables expanded: ${scope.placeables}, ` +\n `max allowed is ${MAX_PLACEABLES}`);\n }\n if (useIsolating) {\n result.push(FSI);\n }\n result.push(resolveExpression(scope, elem).toString(scope));\n if (useIsolating) {\n result.push(PDI);\n }\n }\n scope.dirty.delete(ptn);\n return result.join(\"\");\n}\n/**\n * Resolve a simple or a complex Pattern to a FluentString\n * (which is really the string primitive).\n */\nfunction resolvePattern(scope, value) {\n // Resolve a simple pattern.\n if (typeof value === \"string\") {\n return scope.bundle._transform(value);\n }\n return resolveComplexPattern(scope, value);\n}\n","export class Scope {\n constructor(bundle, errors, args) {\n /**\n * The Set of patterns already encountered during this resolution.\n * Used to detect and prevent cyclic resolutions.\n * @ignore\n */\n this.dirty = new WeakSet();\n /** A dict of parameters passed to a TermReference. */\n this.params = null;\n /**\n * The running count of placeables resolved so far.\n * Used to detect the Billion Laughs and Quadratic Blowup attacks.\n * @ignore\n */\n this.placeables = 0;\n this.bundle = bundle;\n this.errors = errors;\n this.args = args;\n }\n reportError(error) {\n if (!this.errors || !(error instanceof Error)) {\n throw error;\n }\n this.errors.push(error);\n }\n memoizeIntlObject(ctor, opts) {\n let cache = this.bundle._intls.get(ctor);\n if (!cache) {\n cache = {};\n this.bundle._intls.set(ctor, cache);\n }\n let id = JSON.stringify(opts);\n if (!cache[id]) {\n cache[id] = new ctor(this.bundle.locales, opts);\n }\n return cache[id];\n }\n}\n","/**\n * @overview\n *\n * The FTL resolver ships with a number of functions built-in.\n *\n * Each function take two arguments:\n * - args - an array of positional args\n * - opts - an object of key-value args\n *\n * Arguments to functions are guaranteed to already be instances of\n * `FluentValue`. Functions must return `FluentValues` as well.\n */\nimport { FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\nfunction values(opts, allowed) {\n const unwrapped = Object.create(null);\n for (const [name, opt] of Object.entries(opts)) {\n if (allowed.includes(name)) {\n unwrapped[name] = opt.valueOf();\n }\n }\n return unwrapped;\n}\nconst NUMBER_ALLOWED = [\n \"unitDisplay\",\n \"currencyDisplay\",\n \"useGrouping\",\n \"minimumIntegerDigits\",\n \"minimumFractionDigits\",\n \"maximumFractionDigits\",\n \"minimumSignificantDigits\",\n \"maximumSignificantDigits\",\n];\n/**\n * The implementation of the `NUMBER()` builtin available to translations.\n *\n * Translations may call the `NUMBER()` builtin in order to specify formatting\n * options of a number. For example:\n *\n * pi = The value of π is {NUMBER($pi, maximumFractionDigits: 2)}.\n *\n * The implementation expects an array of `FluentValues` representing the\n * positional arguments, and an object of named `FluentValues` representing the\n * named parameters.\n *\n * The following options are recognized:\n *\n * unitDisplay\n * currencyDisplay\n * useGrouping\n * minimumIntegerDigits\n * minimumFractionDigits\n * maximumFractionDigits\n * minimumSignificantDigits\n * maximumSignificantDigits\n *\n * Other options are ignored.\n *\n * @param args The positional arguments passed to this `NUMBER()`.\n * @param opts The named argments passed to this `NUMBER()`.\n */\nexport function NUMBER(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`NUMBER(${arg.valueOf()})`);\n }\n if (arg instanceof FluentNumber) {\n return new FluentNumber(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, NUMBER_ALLOWED),\n });\n }\n if (arg instanceof FluentDateTime) {\n return new FluentNumber(arg.valueOf(), {\n ...values(opts, NUMBER_ALLOWED),\n });\n }\n throw new TypeError(\"Invalid argument to NUMBER\");\n}\nconst DATETIME_ALLOWED = [\n \"dateStyle\",\n \"timeStyle\",\n \"fractionalSecondDigits\",\n \"dayPeriod\",\n \"hour12\",\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n];\n/**\n * The implementation of the `DATETIME()` builtin available to translations.\n *\n * Translations may call the `DATETIME()` builtin in order to specify\n * formatting options of a number. For example:\n *\n * now = It's {DATETIME($today, month: \"long\")}.\n *\n * The implementation expects an array of `FluentValues` representing the\n * positional arguments, and an object of named `FluentValues` representing the\n * named parameters.\n *\n * The following options are recognized:\n *\n * dateStyle\n * timeStyle\n * fractionalSecondDigits\n * dayPeriod\n * hour12\n * weekday\n * era\n * year\n * month\n * day\n * hour\n * minute\n * second\n * timeZoneName\n *\n * Other options are ignored.\n *\n * @param args The positional arguments passed to this `DATETIME()`.\n * @param opts The named argments passed to this `DATETIME()`.\n */\nexport function DATETIME(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`DATETIME(${arg.valueOf()})`);\n }\n if (arg instanceof FluentDateTime) {\n return new FluentDateTime(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, DATETIME_ALLOWED),\n });\n }\n if (arg instanceof FluentNumber) {\n return new FluentDateTime(arg.valueOf(), {\n ...values(opts, DATETIME_ALLOWED),\n });\n }\n throw new TypeError(\"Invalid argument to DATETIME\");\n}\n","const cache = new Map();\nexport function getMemoizerForLocale(locales) {\n const stringLocale = Array.isArray(locales) ? locales.join(\" \") : locales;\n let memoizer = cache.get(stringLocale);\n if (memoizer === undefined) {\n memoizer = new Map();\n cache.set(stringLocale, memoizer);\n }\n return memoizer;\n}\n","import { resolveComplexPattern } from \"./resolver.js\";\nimport { Scope } from \"./scope.js\";\nimport { FluentNone } from \"./types.js\";\nimport { NUMBER, DATETIME } from \"./builtins.js\";\nimport { getMemoizerForLocale } from \"./memoizer.js\";\n/**\n * Message bundles are single-language stores of translation resources. They are\n * responsible for formatting message values and attributes to strings.\n */\nexport class FluentBundle {\n /**\n * Create an instance of `FluentBundle`.\n *\n * @example\n * ```js\n * let bundle = new FluentBundle([\"en-US\", \"en\"]);\n *\n * let bundle = new FluentBundle(locales, {useIsolating: false});\n *\n * let bundle = new FluentBundle(locales, {\n * useIsolating: true,\n * functions: {\n * NODE_ENV: () => process.env.NODE_ENV\n * }\n * });\n * ```\n *\n * @param locales - Used to instantiate `Intl` formatters used by translations.\n * @param options - Optional configuration for the bundle.\n */\n constructor(locales, { functions, useIsolating = true, transform = (v) => v, } = {}) {\n /** @ignore */\n this._terms = new Map();\n /** @ignore */\n this._messages = new Map();\n this.locales = Array.isArray(locales) ? locales : [locales];\n this._functions = {\n NUMBER,\n DATETIME,\n ...functions,\n };\n this._useIsolating = useIsolating;\n this._transform = transform;\n this._intls = getMemoizerForLocale(locales);\n }\n /**\n * Check if a message is present in the bundle.\n *\n * @param id - The identifier of the message to check.\n */\n hasMessage(id) {\n return this._messages.has(id);\n }\n /**\n * Return a raw unformatted message object from the bundle.\n *\n * Raw messages are `{value, attributes}` shapes containing translation units\n * called `Patterns`. `Patterns` are implementation-specific; they should be\n * treated as black boxes and formatted with `FluentBundle.formatPattern`.\n *\n * @param id - The identifier of the message to check.\n */\n getMessage(id) {\n return this._messages.get(id);\n }\n /**\n * Add a translation resource to the bundle.\n *\n * @example\n * ```js\n * let res = new FluentResource(\"foo = Foo\");\n * bundle.addResource(res);\n * bundle.getMessage(\"foo\");\n * // → {value: .., attributes: {..}}\n * ```\n *\n * @param res\n * @param options\n */\n addResource(res, { allowOverrides = false, } = {}) {\n const errors = [];\n for (let i = 0; i < res.body.length; i++) {\n let entry = res.body[i];\n if (entry.id.startsWith(\"-\")) {\n // Identifiers starting with a dash (-) define terms. Terms are private\n // and cannot be retrieved from FluentBundle.\n if (allowOverrides === false && this._terms.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing term: \"${entry.id}\"`));\n continue;\n }\n this._terms.set(entry.id, entry);\n }\n else {\n if (allowOverrides === false && this._messages.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing message: \"${entry.id}\"`));\n continue;\n }\n this._messages.set(entry.id, entry);\n }\n }\n return errors;\n }\n /**\n * Format a `Pattern` to a string.\n *\n * Format a raw `Pattern` into a string. `args` will be used to resolve\n * references to variables passed as arguments to the translation.\n *\n * In case of errors `formatPattern` will try to salvage as much of the\n * translation as possible and will still return a string. For performance\n * reasons, the encountered errors are not returned but instead are appended\n * to the `errors` array passed as the third argument.\n *\n * If `errors` is omitted, the first encountered error will be thrown.\n *\n * @example\n * ```js\n * let errors = [];\n * bundle.addResource(\n * new FluentResource(\"hello = Hello, {$name}!\"));\n *\n * let hello = bundle.getMessage(\"hello\");\n * if (hello.value) {\n * bundle.formatPattern(hello.value, {name: \"Jane\"}, errors);\n * // Returns \"Hello, Jane!\" and `errors` is empty.\n *\n * bundle.formatPattern(hello.value, undefined, errors);\n * // Returns \"Hello, {$name}!\" and `errors` is now:\n * // []\n * }\n * ```\n */\n formatPattern(pattern, args = null, errors = null) {\n // Resolve a simple pattern without creating a scope. No error handling is\n // required; by definition simple patterns don't have placeables.\n if (typeof pattern === \"string\") {\n return this._transform(pattern);\n }\n // Resolve a complex pattern.\n let scope = new Scope(this, errors, args);\n try {\n let value = resolveComplexPattern(scope, pattern);\n return value.toString(scope);\n }\n catch (err) {\n if (scope.errors && err instanceof Error) {\n scope.errors.push(err);\n return new FluentNone().toString(scope);\n }\n throw err;\n }\n }\n}\n","// This regex is used to iterate through the beginnings of messages and terms.\n// With the /m flag, the ^ matches at the beginning of every line.\nconst RE_MESSAGE_START = /^(-?[a-zA-Z][\\w-]*) *= */gm;\n// Both Attributes and Variants are parsed in while loops. These regexes are\n// used to break out of them.\nconst RE_ATTRIBUTE_START = /\\.([a-zA-Z][\\w-]*) *= */y;\nconst RE_VARIANT_START = /\\*?\\[/y;\nconst RE_NUMBER_LITERAL = /(-?[0-9]+(?:\\.([0-9]+))?)/y;\nconst RE_IDENTIFIER = /([a-zA-Z][\\w-]*)/y;\nconst RE_REFERENCE = /([$-])?([a-zA-Z][\\w-]*)(?:\\.([a-zA-Z][\\w-]*))?/y;\nconst RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/;\n// A \"run\" is a sequence of text or string literal characters which don't\n// require any special handling. For TextElements such special characters are: {\n// (starts a placeable), and line breaks which require additional logic to check\n// if the next line is indented. For StringLiterals they are: \\ (starts an\n// escape sequence), \" (ends the literal), and line breaks which are not allowed\n// in StringLiterals. Note that string runs may be empty; text runs may not.\nconst RE_TEXT_RUN = /([^{}\\n\\r]+)/y;\nconst RE_STRING_RUN = /([^\\\\\"\\n\\r]*)/y;\n// Escape sequences.\nconst RE_STRING_ESCAPE = /\\\\([\\\\\"])/y;\nconst RE_UNICODE_ESCAPE = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{6})/y;\n// Used for trimming TextElements and indents.\nconst RE_LEADING_NEWLINES = /^\\n+/;\nconst RE_TRAILING_SPACES = / +$/;\n// Used in makeIndent to strip spaces from blank lines and normalize CRLF to LF.\nconst RE_BLANK_LINES = / *\\r?\\n/g;\n// Used in makeIndent to measure the indentation.\nconst RE_INDENT = /( *)$/;\n// Common tokens.\nconst TOKEN_BRACE_OPEN = /{\\s*/y;\nconst TOKEN_BRACE_CLOSE = /\\s*}/y;\nconst TOKEN_BRACKET_OPEN = /\\[\\s*/y;\nconst TOKEN_BRACKET_CLOSE = /\\s*] */y;\nconst TOKEN_PAREN_OPEN = /\\s*\\(\\s*/y;\nconst TOKEN_ARROW = /\\s*->\\s*/y;\nconst TOKEN_COLON = /\\s*:\\s*/y;\n// Note the optional comma. As a deviation from the Fluent EBNF, the parser\n// doesn't enforce commas between call arguments.\nconst TOKEN_COMMA = /\\s*,?\\s*/y;\nconst TOKEN_BLANK = /\\s+/y;\n/**\n * Fluent Resource is a structure storing parsed localization entries.\n */\nexport class FluentResource {\n constructor(source) {\n this.body = [];\n RE_MESSAGE_START.lastIndex = 0;\n let cursor = 0;\n // Iterate over the beginnings of messages and terms to efficiently skip\n // comments and recover from errors.\n while (true) {\n let next = RE_MESSAGE_START.exec(source);\n if (next === null) {\n break;\n }\n cursor = RE_MESSAGE_START.lastIndex;\n try {\n this.body.push(parseMessage(next[1]));\n }\n catch (err) {\n if (err instanceof SyntaxError) {\n // Don't report any Fluent syntax errors. Skip directly to the\n // beginning of the next message or term.\n continue;\n }\n throw err;\n }\n }\n // The parser implementation is inlined below for performance reasons,\n // as well as for convenience of accessing `source` and `cursor`.\n // The parser focuses on minimizing the number of false negatives at the\n // expense of increasing the risk of false positives. In other words, it\n // aims at parsing valid Fluent messages with a success rate of 100%, but it\n // may also parse a few invalid messages which the reference parser would\n // reject. The parser doesn't perform any validation and may produce entries\n // which wouldn't make sense in the real world. For best results users are\n // advised to validate translations with the fluent-syntax parser\n // pre-runtime.\n // The parser makes an extensive use of sticky regexes which can be anchored\n // to any offset of the source string without slicing it. Errors are thrown\n // to bail out of parsing of ill-formed messages.\n function test(re) {\n re.lastIndex = cursor;\n return re.test(source);\n }\n // Advance the cursor by the char if it matches. May be used as a predicate\n // (was the match found?) or, if errorClass is passed, as an assertion.\n function consumeChar(char, errorClass) {\n if (source[cursor] === char) {\n cursor++;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${char}`);\n }\n return false;\n }\n // Advance the cursor by the token if it matches. May be used as a predicate\n // (was the match found?) or, if errorClass is passed, as an assertion.\n function consumeToken(re, errorClass) {\n if (test(re)) {\n cursor = re.lastIndex;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${re.toString()}`);\n }\n return false;\n }\n // Execute a regex, advance the cursor, and return all capture groups.\n function match(re) {\n re.lastIndex = cursor;\n let result = re.exec(source);\n if (result === null) {\n throw new SyntaxError(`Expected ${re.toString()}`);\n }\n cursor = re.lastIndex;\n return result;\n }\n // Execute a regex, advance the cursor, and return the capture group.\n function match1(re) {\n return match(re)[1];\n }\n function parseMessage(id) {\n let value = parsePattern();\n let attributes = parseAttributes();\n if (value === null && Object.keys(attributes).length === 0) {\n throw new SyntaxError(\"Expected message value or attributes\");\n }\n return { id, value, attributes };\n }\n function parseAttributes() {\n let attrs = Object.create(null);\n while (test(RE_ATTRIBUTE_START)) {\n let name = match1(RE_ATTRIBUTE_START);\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected attribute value\");\n }\n attrs[name] = value;\n }\n return attrs;\n }\n function parsePattern() {\n let first;\n // First try to parse any simple text on the same line as the id.\n if (test(RE_TEXT_RUN)) {\n first = match1(RE_TEXT_RUN);\n }\n // If there's a placeable on the first line, parse a complex pattern.\n if (source[cursor] === \"{\" || source[cursor] === \"}\") {\n // Re-use the text parsed above, if possible.\n return parsePatternElements(first ? [first] : [], Infinity);\n }\n // RE_TEXT_VALUE stops at newlines. Only continue parsing the pattern if\n // what comes after the newline is indented.\n let indent = parseIndent();\n if (indent) {\n if (first) {\n // If there's text on the first line, the blank block is part of the\n // translation content in its entirety.\n return parsePatternElements([first, indent], indent.length);\n }\n // Otherwise, we're dealing with a block pattern, i.e. a pattern which\n // starts on a new line. Discrad the leading newlines but keep the\n // inline indent; it will be used by the dedentation logic.\n indent.value = trim(indent.value, RE_LEADING_NEWLINES);\n return parsePatternElements([indent], indent.length);\n }\n if (first) {\n // It was just a simple inline text after all.\n return trim(first, RE_TRAILING_SPACES);\n }\n return null;\n }\n // Parse a complex pattern as an array of elements.\n function parsePatternElements(elements = [], commonIndent) {\n while (true) {\n if (test(RE_TEXT_RUN)) {\n elements.push(match1(RE_TEXT_RUN));\n continue;\n }\n if (source[cursor] === \"{\") {\n elements.push(parsePlaceable());\n continue;\n }\n if (source[cursor] === \"}\") {\n throw new SyntaxError(\"Unbalanced closing brace\");\n }\n let indent = parseIndent();\n if (indent) {\n elements.push(indent);\n commonIndent = Math.min(commonIndent, indent.length);\n continue;\n }\n break;\n }\n let lastIndex = elements.length - 1;\n let lastElement = elements[lastIndex];\n // Trim the trailing spaces in the last element if it's a TextElement.\n if (typeof lastElement === \"string\") {\n elements[lastIndex] = trim(lastElement, RE_TRAILING_SPACES);\n }\n let baked = [];\n for (let element of elements) {\n if (element instanceof Indent) {\n // Dedent indented lines by the maximum common indent.\n element = element.value.slice(0, element.value.length - commonIndent);\n }\n if (element) {\n baked.push(element);\n }\n }\n return baked;\n }\n function parsePlaceable() {\n consumeToken(TOKEN_BRACE_OPEN, SyntaxError);\n let selector = parseInlineExpression();\n if (consumeToken(TOKEN_BRACE_CLOSE)) {\n return selector;\n }\n if (consumeToken(TOKEN_ARROW)) {\n let variants = parseVariants();\n consumeToken(TOKEN_BRACE_CLOSE, SyntaxError);\n return {\n type: \"select\",\n selector,\n ...variants,\n };\n }\n throw new SyntaxError(\"Unclosed placeable\");\n }\n function parseInlineExpression() {\n if (source[cursor] === \"{\") {\n // It's a nested placeable.\n return parsePlaceable();\n }\n if (test(RE_REFERENCE)) {\n let [, sigil, name, attr = null] = match(RE_REFERENCE);\n if (sigil === \"$\") {\n return { type: \"var\", name };\n }\n if (consumeToken(TOKEN_PAREN_OPEN)) {\n let args = parseArguments();\n if (sigil === \"-\") {\n // A parameterized term: -term(...).\n return { type: \"term\", name, attr, args };\n }\n if (RE_FUNCTION_NAME.test(name)) {\n return { type: \"func\", name, args };\n }\n throw new SyntaxError(\"Function names must be all upper-case\");\n }\n if (sigil === \"-\") {\n // A non-parameterized term: -term.\n return {\n type: \"term\",\n name,\n attr,\n args: [],\n };\n }\n return { type: \"mesg\", name, attr };\n }\n return parseLiteral();\n }\n function parseArguments() {\n let args = [];\n while (true) {\n switch (source[cursor]) {\n case \")\": // End of the argument list.\n cursor++;\n return args;\n case undefined: // EOF\n throw new SyntaxError(\"Unclosed argument list\");\n }\n args.push(parseArgument());\n // Commas between arguments are treated as whitespace.\n consumeToken(TOKEN_COMMA);\n }\n }\n function parseArgument() {\n let expr = parseInlineExpression();\n if (expr.type !== \"mesg\") {\n return expr;\n }\n if (consumeToken(TOKEN_COLON)) {\n // The reference is the beginning of a named argument.\n return {\n type: \"narg\",\n name: expr.name,\n value: parseLiteral(),\n };\n }\n // It's a regular message reference.\n return expr;\n }\n function parseVariants() {\n let variants = [];\n let count = 0;\n let star;\n while (test(RE_VARIANT_START)) {\n if (consumeChar(\"*\")) {\n star = count;\n }\n let key = parseVariantKey();\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected variant value\");\n }\n variants[count++] = { key, value };\n }\n if (count === 0) {\n return null;\n }\n if (star === undefined) {\n throw new SyntaxError(\"Expected default variant\");\n }\n return { variants, star };\n }\n function parseVariantKey() {\n consumeToken(TOKEN_BRACKET_OPEN, SyntaxError);\n let key;\n if (test(RE_NUMBER_LITERAL)) {\n key = parseNumberLiteral();\n }\n else {\n key = {\n type: \"str\",\n value: match1(RE_IDENTIFIER),\n };\n }\n consumeToken(TOKEN_BRACKET_CLOSE, SyntaxError);\n return key;\n }\n function parseLiteral() {\n if (test(RE_NUMBER_LITERAL)) {\n return parseNumberLiteral();\n }\n if (source[cursor] === '\"') {\n return parseStringLiteral();\n }\n throw new SyntaxError(\"Invalid expression\");\n }\n function parseNumberLiteral() {\n let [, value, fraction = \"\"] = match(RE_NUMBER_LITERAL);\n let precision = fraction.length;\n return {\n type: \"num\",\n value: parseFloat(value),\n precision,\n };\n }\n function parseStringLiteral() {\n consumeChar('\"', SyntaxError);\n let value = \"\";\n while (true) {\n value += match1(RE_STRING_RUN);\n if (source[cursor] === \"\\\\\") {\n value += parseEscapeSequence();\n continue;\n }\n if (consumeChar('\"')) {\n return { type: \"str\", value };\n }\n // We've reached an EOL of EOF.\n throw new SyntaxError(\"Unclosed string literal\");\n }\n }\n // Unescape known escape sequences.\n function parseEscapeSequence() {\n if (test(RE_STRING_ESCAPE)) {\n return match1(RE_STRING_ESCAPE);\n }\n if (test(RE_UNICODE_ESCAPE)) {\n let [, codepoint4, codepoint6] = match(RE_UNICODE_ESCAPE);\n let codepoint = parseInt(codepoint4 || codepoint6, 16);\n return codepoint <= 0xd7ff || 0xe000 <= codepoint\n ? // It's a Unicode scalar value.\n String.fromCodePoint(codepoint)\n : // Lonely surrogates can cause trouble when the parsing result is\n // saved using UTF-8. Use U+FFFD REPLACEMENT CHARACTER instead.\n \"�\";\n }\n throw new SyntaxError(\"Unknown escape sequence\");\n }\n // Parse blank space. Return it if it looks like indent before a pattern\n // line. Skip it othwerwise.\n function parseIndent() {\n let start = cursor;\n consumeToken(TOKEN_BLANK);\n // Check the first non-blank character after the indent.\n switch (source[cursor]) {\n case \".\":\n case \"[\":\n case \"*\":\n case \"}\":\n case undefined: // EOF\n // A special character. End the Pattern.\n return false;\n case \"{\":\n // Placeables don't require indentation (in EBNF: block-placeable).\n // Continue the Pattern.\n return makeIndent(source.slice(start, cursor));\n }\n // If the first character on the line is not one of the special characters\n // listed above, it's a regular text character. Check if there's at least\n // one space of indent before it.\n if (source[cursor - 1] === \" \") {\n // It's an indented text character (in EBNF: indented-char). Continue\n // the Pattern.\n return makeIndent(source.slice(start, cursor));\n }\n // A not-indented text character is likely the identifier of the next\n // message. End the Pattern.\n return false;\n }\n // Trim blanks in text according to the given regex.\n function trim(text, re) {\n return text.replace(re, \"\");\n }\n // Normalize a blank block and extract the indent details.\n function makeIndent(blank) {\n let value = blank.replace(RE_BLANK_LINES, \"\\n\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let length = RE_INDENT.exec(blank)[1].length;\n return new Indent(value, length);\n }\n }\n}\nclass Indent {\n constructor(value, length) {\n this.value = value;\n this.length = length;\n }\n}\n","/**\n * @module fluent\n * @overview\n *\n * `fluent` is a JavaScript implementation of Project Fluent, a localization\n * framework designed to unleash the expressive power of the natural language.\n *\n */\nexport { FluentBundle } from \"./bundle.js\";\nexport { FluentResource } from \"./resource.js\";\nexport { FluentType, FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\n","/* eslint no-console: [\"error\", {allow: [\"warn\"]}] */\n/* global console */\n// Match the opening angle bracket (<) in HTML tags, and HTML entities like\n// &, &, &.\nconst reOverlay = /<|&#?\\w+;/;\n/**\n * Elements allowed in translations even if they are not present in the source\n * HTML. They are text-level elements as defined by the HTML5 spec:\n * https://www.w3.org/TR/html5/text-level-semantics.html with the exception of:\n *\n * - a - because we don't allow href on it anyways,\n * - ruby, rt, rp - because we don't allow nested elements to be inserted.\n */\nconst TEXT_LEVEL_ELEMENTS = {\n \"http://www.w3.org/1999/xhtml\": [\n \"em\",\n \"strong\",\n \"small\",\n \"s\",\n \"cite\",\n \"q\",\n \"dfn\",\n \"abbr\",\n \"data\",\n \"time\",\n \"code\",\n \"var\",\n \"samp\",\n \"kbd\",\n \"sub\",\n \"sup\",\n \"i\",\n \"b\",\n \"u\",\n \"mark\",\n \"bdi\",\n \"bdo\",\n \"span\",\n \"br\",\n \"wbr\",\n ],\n};\nconst LOCALIZABLE_ATTRIBUTES = {\n \"http://www.w3.org/1999/xhtml\": {\n global: [\"title\", \"aria-label\", \"aria-valuetext\"],\n a: [\"download\"],\n area: [\"download\", \"alt\"],\n // value is special-cased in isAttrNameLocalizable\n input: [\"alt\", \"placeholder\"],\n menuitem: [\"label\"],\n menu: [\"label\"],\n optgroup: [\"label\"],\n option: [\"label\"],\n track: [\"label\"],\n img: [\"alt\"],\n textarea: [\"placeholder\"],\n th: [\"abbr\"],\n },\n \"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\": {\n global: [\n \"accesskey\",\n \"aria-label\",\n \"aria-valuetext\",\n \"label\",\n \"title\",\n \"tooltiptext\",\n ],\n description: [\"value\"],\n key: [\"key\", \"keycode\"],\n label: [\"value\"],\n textbox: [\"placeholder\", \"value\"],\n },\n};\n/**\n * Translate an element.\n *\n * Translate the element's text content and attributes. Some HTML markup is\n * allowed in the translation. The element's children with the data-l10n-name\n * attribute will be treated as arguments to the translation. If the\n * translation defines the same children, their attributes and text contents\n * will be used for translating the matching source child.\n *\n * @param {Element} element\n * @param {Object} translation\n * @private\n */\nexport default function translateElement(element, translation) {\n const { value } = translation;\n if (typeof value === \"string\") {\n if (element.localName === \"title\" &&\n element.namespaceURI === \"http://www.w3.org/1999/xhtml\") {\n // A special case for the HTML title element whose content must be text.\n element.textContent = value;\n }\n else if (!reOverlay.test(value)) {\n // If the translation doesn't contain any markup skip the overlay logic.\n element.textContent = value;\n }\n else {\n // Else parse the translation's HTML using an inert template element,\n // sanitize it and replace the element's content.\n const templateElement = element.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"template\");\n templateElement.innerHTML = value;\n overlayChildNodes(templateElement.content, element);\n }\n }\n // Even if the translation doesn't define any localizable attributes, run\n // overlayAttributes to remove any localizable attributes set by previous\n // translations.\n overlayAttributes(translation, element);\n}\n/**\n * Replace child nodes of an element with child nodes of another element.\n *\n * The contents of the target element will be cleared and fully replaced with\n * sanitized contents of the source element.\n *\n * @param {DocumentFragment} fromFragment - The source of children to overlay.\n * @param {Element} toElement - The target of the overlay.\n * @private\n */\nfunction overlayChildNodes(fromFragment, toElement) {\n for (const childNode of fromFragment.childNodes) {\n if (childNode.nodeType === childNode.TEXT_NODE) {\n // Keep the translated text node.\n continue;\n }\n if (childNode.hasAttribute(\"data-l10n-name\")) {\n const sanitized = getNodeForNamedElement(toElement, childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n if (isElementAllowed(childNode)) {\n const sanitized = createSanitizedElement(childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n console.warn(`An element of forbidden type \"${childNode.localName}\" was found in ` +\n \"the translation. Only safe text-level elements and elements with \" +\n \"data-l10n-name are allowed.\");\n // If all else fails, replace the element with its text content.\n fromFragment.replaceChild(createTextNodeFromTextContent(childNode), childNode);\n }\n toElement.textContent = \"\";\n toElement.appendChild(fromFragment);\n}\nfunction hasAttribute(attributes, name) {\n if (!attributes) {\n return false;\n }\n for (let attr of attributes) {\n if (attr.name === name) {\n return true;\n }\n }\n return false;\n}\n/**\n * Transplant localizable attributes of an element to another element.\n *\n * Any localizable attributes already set on the target element will be\n * cleared.\n *\n * @param {Element|Object} fromElement - The source of child nodes to overlay.\n * @param {Element} toElement - The target of the overlay.\n * @private\n */\nfunction overlayAttributes(fromElement, toElement) {\n const explicitlyAllowed = toElement.hasAttribute(\"data-l10n-attrs\")\n ? toElement\n .getAttribute(\"data-l10n-attrs\")\n .split(\",\")\n .map(i => i.trim())\n : null;\n // Remove existing localizable attributes if they\n // will not be used in the new translation.\n for (const attr of Array.from(toElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) &&\n !hasAttribute(fromElement.attributes, attr.name)) {\n toElement.removeAttribute(attr.name);\n }\n }\n // fromElement might be a {value, attributes} object as returned by\n // Localization.messageFromBundle. In which case attributes may be null to\n // save GC cycles.\n if (!fromElement.attributes) {\n return;\n }\n // Set localizable attributes.\n for (const attr of Array.from(fromElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) &&\n toElement.getAttribute(attr.name) !== attr.value) {\n toElement.setAttribute(attr.name, attr.value);\n }\n }\n}\n/**\n * Sanitize a child element created by the translation.\n *\n * Try to find a corresponding child in sourceElement and use it as the base\n * for the sanitization. This will preserve functional attribtues defined on\n * the child element in the source HTML.\n *\n * @param {Element} sourceElement - The source for data-l10n-name lookups.\n * @param {Element} translatedChild - The translated child to be sanitized.\n * @returns {Element}\n * @private\n */\nfunction getNodeForNamedElement(sourceElement, translatedChild) {\n const childName = translatedChild.getAttribute(\"data-l10n-name\");\n const sourceChild = sourceElement.querySelector(`[data-l10n-name=\"${childName}\"]`);\n if (!sourceChild) {\n console.warn(`An element named \"${childName}\" wasn't found in the source.`);\n return createTextNodeFromTextContent(translatedChild);\n }\n if (sourceChild.localName !== translatedChild.localName) {\n console.warn(`An element named \"${childName}\" was found in the translation ` +\n `but its type ${translatedChild.localName} didn't match the ` +\n `element found in the source (${sourceChild.localName}).`);\n return createTextNodeFromTextContent(translatedChild);\n }\n // Remove it from sourceElement so that the translation cannot use\n // the same reference name again.\n sourceElement.removeChild(sourceChild);\n // We can't currently guarantee that a translation won't remove\n // sourceChild from the element completely, which could break the app if\n // it relies on an event handler attached to the sourceChild. Let's make\n // this limitation explicit for now by breaking the identitiy of the\n // sourceChild by cloning it. This will destroy all event handlers\n // attached to sourceChild via addEventListener and via on\n // properties.\n const clone = sourceChild.cloneNode(false);\n return shallowPopulateUsing(translatedChild, clone);\n}\n/**\n * Sanitize an allowed element.\n *\n * Text-level elements allowed in translations may only use safe attributes\n * and will have any nested markup stripped to text content.\n *\n * @param {Element} element - The element to be sanitized.\n * @returns {Element}\n * @private\n */\nfunction createSanitizedElement(element) {\n // Start with an empty element of the same type to remove nested children\n // and non-localizable attributes defined by the translation.\n const clone = element.ownerDocument.createElement(element.localName);\n return shallowPopulateUsing(element, clone);\n}\n/**\n * Convert an element to a text node.\n *\n * @param {Element} element - The element to be sanitized.\n * @returns {Node}\n * @private\n */\nfunction createTextNodeFromTextContent(element) {\n return element.ownerDocument.createTextNode(element.textContent);\n}\n/**\n * Check if element is allowed in the translation.\n *\n * This method is used by the sanitizer when the translation markup contains\n * an element which is not present in the source code.\n *\n * @param {Element} element\n * @returns {boolean}\n * @private\n */\nfunction isElementAllowed(element) {\n const allowed = TEXT_LEVEL_ELEMENTS[element.namespaceURI];\n return allowed && allowed.includes(element.localName);\n}\n/**\n * Check if attribute is allowed for the given element.\n *\n * This method is used by the sanitizer when the translation markup contains\n * DOM attributes, or when the translation has traits which map to DOM\n * attributes.\n *\n * `explicitlyAllowed` can be passed as a list of attributes explicitly\n * allowed on this element.\n *\n * @param {string} name\n * @param {Element} element\n * @param {Array} explicitlyAllowed\n * @returns {boolean}\n * @private\n */\nfunction isAttrNameLocalizable(name, element, explicitlyAllowed = null) {\n if (explicitlyAllowed && explicitlyAllowed.includes(name)) {\n return true;\n }\n const allowed = LOCALIZABLE_ATTRIBUTES[element.namespaceURI];\n if (!allowed) {\n return false;\n }\n const attrName = name.toLowerCase();\n const elemName = element.localName;\n // Is it a globally safe attribute?\n if (allowed.global.includes(attrName)) {\n return true;\n }\n // Are there no allowed attributes for this element?\n if (!allowed[elemName]) {\n return false;\n }\n // Is it allowed on this element?\n if (allowed[elemName].includes(attrName)) {\n return true;\n }\n // Special case for value on HTML inputs with type button, reset, submit\n if (element.namespaceURI === \"http://www.w3.org/1999/xhtml\" &&\n elemName === \"input\" &&\n attrName === \"value\") {\n const type = element.type.toLowerCase();\n if (type === \"submit\" || type === \"button\" || type === \"reset\") {\n return true;\n }\n }\n return false;\n}\n/**\n * Helper to set textContent and localizable attributes on an element.\n *\n * @param {Element} fromElement\n * @param {Element} toElement\n * @returns {Element}\n * @private\n */\nfunction shallowPopulateUsing(fromElement, toElement) {\n toElement.textContent = fromElement.textContent;\n overlayAttributes(fromElement, toElement);\n return toElement;\n}\n","/*\n * Base CachedIterable class.\n */\nexport default class CachedIterable extends Array {\n /**\n * Create a `CachedIterable` instance from an iterable or, if another\n * instance of `CachedIterable` is passed, return it without any\n * modifications.\n *\n * @param {Iterable} iterable\n * @returns {CachedIterable}\n */\n static from(iterable) {\n if (iterable instanceof this) {\n return iterable;\n }\n\n return new this(iterable);\n }\n}\n","import CachedIterable from \"./cached_iterable.mjs\";\n\n/*\n * CachedSyncIterable caches the elements yielded by an iterable.\n *\n * It can be used to iterate over an iterable many times without depleting the\n * iterable.\n */\nexport default class CachedSyncIterable extends CachedIterable {\n /**\n * Create an `CachedSyncIterable` instance.\n *\n * @param {Iterable} iterable\n * @returns {CachedSyncIterable}\n */\n constructor(iterable) {\n super();\n\n if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n\n [Symbol.iterator]() {\n const cached = this;\n let cur = 0;\n\n return {\n next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n\n /**\n * This method allows user to consume the next element from the iterator\n * into the cache.\n *\n * @param {number} count - number of elements to consume\n */\n touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && last.done) {\n break;\n }\n this.push(this.iterator.next());\n }\n // Return the last cached {value, done} object to allow the calling\n // code to decide if it needs to call touchNext again.\n return this[this.length - 1];\n }\n}\n","import CachedIterable from \"./cached_iterable.mjs\";\n\n/*\n * CachedAsyncIterable caches the elements yielded by an async iterable.\n *\n * It can be used to iterate over an iterable many times without depleting the\n * iterable.\n */\nexport default class CachedAsyncIterable extends CachedIterable {\n /**\n * Create an `CachedAsyncIterable` instance.\n *\n * @param {Iterable} iterable\n * @returns {CachedAsyncIterable}\n */\n constructor(iterable) {\n super();\n\n if (Symbol.asyncIterator in Object(iterable)) {\n this.iterator = iterable[Symbol.asyncIterator]();\n } else if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n\n /**\n * Asynchronous iterator caching the yielded elements.\n *\n * Elements yielded by the original iterable will be cached and available\n * synchronously. Returns an async generator object implementing the\n * iterator protocol over the elements of the original (async or sync)\n * iterable.\n */\n [Symbol.asyncIterator]() {\n const cached = this;\n let cur = 0;\n\n return {\n async next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n\n /**\n * This method allows user to consume the next element from the iterator\n * into the cache.\n *\n * @param {number} count - number of elements to consume\n */\n async touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && (await last).done) {\n break;\n }\n this.push(this.iterator.next());\n }\n // Return the last cached {value, done} object to allow the calling\n // code to decide if it needs to call touchNext again.\n return this[this.length - 1];\n }\n}\n","export {default as CachedSyncIterable} from \"./cached_sync_iterable.mjs\";\nexport {default as CachedAsyncIterable} from \"./cached_async_iterable.mjs\";\n","/* eslint no-console: [\"error\", { allow: [\"warn\", \"error\"] }] */\n/* global console */\nimport { CachedAsyncIterable } from \"cached-iterable\";\n/**\n * The `Localization` class is a central high-level API for vanilla\n * JavaScript use of Fluent.\n * It combines language negotiation, FluentBundle and I/O to\n * provide a scriptable API to format translations.\n */\nexport default class Localization {\n /**\n * @param {Array} resourceIds - List of resource IDs\n * @param {Function} generateBundles - Function that returns a\n * generator over FluentBundles\n *\n * @returns {Localization}\n */\n constructor(resourceIds = [], generateBundles) {\n this.resourceIds = resourceIds;\n this.generateBundles = generateBundles;\n this.onChange(true);\n }\n addResourceIds(resourceIds, eager = false) {\n this.resourceIds.push(...resourceIds);\n this.onChange(eager);\n return this.resourceIds.length;\n }\n removeResourceIds(resourceIds) {\n this.resourceIds = this.resourceIds.filter(r => !resourceIds.includes(r));\n this.onChange();\n return this.resourceIds.length;\n }\n /**\n * Format translations and handle fallback if needed.\n *\n * Format translations for `keys` from `FluentBundle` instances on this\n * DOMLocalization. In case of errors, fetch the next context in the\n * fallback chain.\n *\n * @param {Array} keys - Translation keys to format.\n * @param {Function} method - Formatting function.\n * @returns {Promise>}\n * @private\n */\n async formatWithFallback(keys, method) {\n const translations = [];\n let hasAtLeastOneBundle = false;\n for await (const bundle of this.bundles) {\n hasAtLeastOneBundle = true;\n const missingIds = keysFromBundle(method, bundle, keys, translations);\n if (missingIds.size === 0) {\n break;\n }\n if (typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const ids = Array.from(missingIds).join(\", \");\n console.warn(`[fluent] Missing translations in ${locale}: ${ids}`);\n }\n }\n if (!hasAtLeastOneBundle && typeof console !== \"undefined\") {\n // eslint-disable-next-line max-len\n console.warn(`[fluent] Request for keys failed because no resource bundles got generated.\n keys: ${JSON.stringify(keys)}.\n resourceIds: ${JSON.stringify(this.resourceIds)}.`);\n }\n return translations;\n }\n /**\n * Format translations into `{value, attributes}` objects.\n *\n * The fallback logic is the same as in `formatValues`\n * but it returns `{value, attributes}` objects\n * which are suitable for the translation of DOM elements.\n *\n * Returns a Promise resolving to an array of the translation strings.\n *\n * @example\n * ```js\n * docL10n.formatMessages([\n * {id: 'hello', args: { who: 'Mary' }},\n * {id: 'welcome'}\n * ]).then(console.log);\n *\n * // [\n * // { value: 'Hello, Mary!', attributes: null },\n * // {\n * // value: 'Welcome!',\n * // attributes: [ { name: \"title\", value: 'Hello' } ]\n * // }\n * // ]\n * ```\n *\n * @param {Array} keys\n * @returns {Promise>}\n * @private\n */\n formatMessages(keys) {\n return this.formatWithFallback(keys, messageFromBundle);\n }\n /**\n * Retrieve translations corresponding to the passed keys.\n *\n * A generalized version of `DOMLocalization.formatValue`. Keys must\n * be `{id, args}` objects.\n *\n * Returns a Promise resolving to an array of the translation strings.\n *\n * @example\n * ```js\n * docL10n.formatValues([\n * {id: 'hello', args: { who: 'Mary' }},\n * {id: 'hello', args: { who: 'John' }},\n * {id: 'welcome'}\n * ]).then(console.log);\n *\n * // ['Hello, Mary!', 'Hello, John!', 'Welcome!']\n * ```\n *\n * @param {Array} keys\n * @returns {Promise>}\n */\n formatValues(keys) {\n return this.formatWithFallback(keys, valueFromBundle);\n }\n /**\n * Retrieve the translation corresponding to the `id` identifier.\n *\n * If passed, `args` is a simple hash object with a list of variables that\n * will be interpolated in the value of the translation.\n *\n * Returns a Promise resolving to the translation string.\n *\n * Use this sparingly for one-off messages which don't need to be\n * retranslated when the user changes their language preferences, e.g. in\n * notifications.\n *\n * @example\n * ```js\n * docL10n.formatValue(\n * 'hello', { who: 'world' }\n * ).then(console.log);\n *\n * // 'Hello, world!'\n * ```\n *\n * @param {string} id - Identifier of the translation to format\n * @param {Object} [args] - Optional external arguments\n * @returns {Promise}\n */\n async formatValue(id, args) {\n const [val] = await this.formatValues([{ id, args }]);\n return val;\n }\n handleEvent() {\n this.onChange();\n }\n /**\n * This method should be called when there's a reason to believe\n * that language negotiation or available resources changed.\n */\n onChange(eager = false) {\n this.bundles = CachedAsyncIterable.from(this.generateBundles(this.resourceIds));\n if (eager) {\n this.bundles.touchNext(2);\n }\n }\n}\n/**\n * Format the value of a message into a string or `null`.\n *\n * This function is passed as a method to `keysFromBundle` and resolve\n * a value of a single L10n Entity using provided `FluentBundle`.\n *\n * If the message doesn't have a value, return `null`.\n *\n * @param {FluentBundle} bundle\n * @param {Array} errors\n * @param {Object} message\n * @param {Object} args\n * @returns {string|null}\n * @private\n */\nfunction valueFromBundle(bundle, errors, message, args) {\n if (message.value) {\n return bundle.formatPattern(message.value, args, errors);\n }\n return null;\n}\n/**\n * Format all public values of a message into a {value, attributes} object.\n *\n * This function is passed as a method to `keysFromBundle` and resolve\n * a single L10n Entity using provided `FluentBundle`.\n *\n * The function will return an object with a value and attributes of the\n * entity.\n *\n * @param {FluentBundle} bundle\n * @param {Array} errors\n * @param {Object} message\n * @param {Object} args\n * @returns {Object}\n * @private\n */\nfunction messageFromBundle(bundle, errors, message, args) {\n const formatted = {\n value: null,\n attributes: null,\n };\n if (message.value) {\n formatted.value = bundle.formatPattern(message.value, args, errors);\n }\n let attrNames = Object.keys(message.attributes);\n if (attrNames.length > 0) {\n formatted.attributes = new Array(attrNames.length);\n for (let [i, name] of attrNames.entries()) {\n let value = bundle.formatPattern(message.attributes[name], args, errors);\n formatted.attributes[i] = { name, value };\n }\n }\n return formatted;\n}\n/**\n * This function is an inner function for `Localization.formatWithFallback`.\n *\n * It takes a `FluentBundle`, list of l10n-ids and a method to be used for\n * key resolution (either `valueFromBundle` or `messageFromBundle`) and\n * optionally a value returned from `keysFromBundle` executed against\n * another `FluentBundle`.\n *\n * The idea here is that if the previous `FluentBundle` did not resolve\n * all keys, we're calling this function with the next context to resolve\n * the remaining ones.\n *\n * In the function, we loop over `keys` and check if we have the `prev`\n * passed and if it has an error entry for the position we're in.\n *\n * If it doesn't, it means that we have a good translation for this key and\n * we return it. If it does, we'll try to resolve the key using the passed\n * `FluentBundle`.\n *\n * In the end, we fill the translations array, and return the Set with\n * missing ids.\n *\n * See `Localization.formatWithFallback` for more info on how this is used.\n *\n * @param {Function} method\n * @param {FluentBundle} bundle\n * @param {Array} keys\n * @param {{Array<{value: string, attributes: Object}>}} translations\n *\n * @returns {Set}\n * @private\n */\nfunction keysFromBundle(method, bundle, keys, translations) {\n const messageErrors = [];\n const missingIds = new Set();\n keys.forEach(({ id, args }, i) => {\n if (translations[i] !== undefined) {\n return;\n }\n let message = bundle.getMessage(id);\n if (message) {\n messageErrors.length = 0;\n translations[i] = method(bundle, messageErrors, message, args);\n if (messageErrors.length > 0 && typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const errors = messageErrors.join(\", \");\n // eslint-disable-next-line max-len\n console.warn(`[fluent][resolver] errors in ${locale}/${id}: ${errors}.`);\n }\n }\n else {\n missingIds.add(id);\n }\n });\n return missingIds;\n}\n","import translateElement from \"./overlay.js\";\nimport Localization from \"./localization.js\";\nconst L10NID_ATTR_NAME = \"data-l10n-id\";\nconst L10NARGS_ATTR_NAME = \"data-l10n-args\";\nconst L10N_ELEMENT_QUERY = `[${L10NID_ATTR_NAME}]`;\n/**\n * The `DOMLocalization` class is responsible for fetching resources and\n * formatting translations.\n *\n * It implements the fallback strategy in case of errors encountered during the\n * formatting of translations and methods for observing DOM\n * trees with a `MutationObserver`.\n */\nexport default class DOMLocalization extends Localization {\n /**\n * @param {Array} resourceIds - List of resource IDs\n * @param {Function} generateBundles - Function that returns a\n * generator over FluentBundles\n * @returns {DOMLocalization}\n */\n constructor(resourceIds, generateBundles) {\n super(resourceIds, generateBundles);\n // A Set of DOM trees observed by the `MutationObserver`.\n this.roots = new Set();\n // requestAnimationFrame handler.\n this.pendingrAF = null;\n // list of elements pending for translation.\n this.pendingElements = new Set();\n this.windowElement = null;\n this.mutationObserver = null;\n this.observerConfig = {\n attributes: true,\n characterData: false,\n childList: true,\n subtree: true,\n attributeFilter: [L10NID_ATTR_NAME, L10NARGS_ATTR_NAME],\n };\n }\n onChange(eager = false) {\n super.onChange(eager);\n if (this.roots) {\n this.translateRoots();\n }\n }\n /**\n * Set the `data-l10n-id` and `data-l10n-args` attributes on DOM elements.\n * FluentDOM makes use of mutation observers to detect changes\n * to `data-l10n-*` attributes and translate elements asynchronously.\n * `setAttributes` is a convenience method which allows to translate\n * DOM elements declaratively.\n *\n * You should always prefer to use `data-l10n-id` on elements (statically in\n * HTML or dynamically via `setAttributes`) over manually retrieving\n * translations with `format`. The use of attributes ensures that the\n * elements can be retranslated when the user changes their language\n * preferences.\n *\n * ```javascript\n * localization.setAttributes(\n * document.querySelector('#welcome'), 'hello', { who: 'world' }\n * );\n * ```\n *\n * This will set the following attributes on the `#welcome` element.\n * The MutationObserver will pick up this change and will localize the element\n * asynchronously.\n *\n * ```html\n *

\n *

\n * ```\n *\n * @param {Element} element - Element to set attributes on\n * @param {string} id - l10n-id string\n * @param {Object} args - KVP list of l10n arguments\n * @returns {Element}\n */\n setAttributes(element, id, args) {\n element.setAttribute(L10NID_ATTR_NAME, id);\n if (args) {\n element.setAttribute(L10NARGS_ATTR_NAME, JSON.stringify(args));\n }\n else {\n element.removeAttribute(L10NARGS_ATTR_NAME);\n }\n return element;\n }\n /**\n * Get the `data-l10n-*` attributes from DOM elements.\n *\n * ```javascript\n * localization.getAttributes(\n * document.querySelector('#welcome')\n * );\n * // -> { id: 'hello', args: { who: 'world' } }\n * ```\n *\n * @param {Element} element - HTML element\n * @returns {{id: string, args: Object}}\n */\n getAttributes(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null),\n };\n }\n /**\n * Add `newRoot` to the list of roots managed by this `DOMLocalization`.\n *\n * Additionally, if this `DOMLocalization` has an observer, start observing\n * `newRoot` in order to translate mutations in it.\n *\n * @param {Element} newRoot - Root to observe.\n */\n connectRoot(newRoot) {\n for (const root of this.roots) {\n if (root === newRoot ||\n root.contains(newRoot) ||\n newRoot.contains(root)) {\n throw new Error(\"Cannot add a root that overlaps with existing root.\");\n }\n }\n if (this.windowElement) {\n if (this.windowElement !== newRoot.ownerDocument.defaultView) {\n throw new Error(`Cannot connect a root:\n DOMLocalization already has a root from a different window.`);\n }\n }\n else {\n this.windowElement = newRoot.ownerDocument.defaultView;\n this.mutationObserver = new this.windowElement.MutationObserver(mutations => this.translateMutations(mutations));\n }\n this.roots.add(newRoot);\n this.mutationObserver.observe(newRoot, this.observerConfig);\n }\n /**\n * Remove `root` from the list of roots managed by this `DOMLocalization`.\n *\n * Additionally, if this `DOMLocalization` has an observer, stop observing\n * `root`.\n *\n * Returns `true` if the root was the last one managed by this\n * `DOMLocalization`.\n *\n * @param {Element} root - Root to disconnect.\n * @returns {boolean}\n */\n disconnectRoot(root) {\n this.roots.delete(root);\n // Pause the mutation observer to stop observing `root`.\n this.pauseObserving();\n if (this.roots.size === 0) {\n this.mutationObserver = null;\n this.windowElement = null;\n this.pendingrAF = null;\n this.pendingElements.clear();\n return true;\n }\n // Resume observing all other roots.\n this.resumeObserving();\n return false;\n }\n /**\n * Translate all roots associated with this `DOMLocalization`.\n *\n * @returns {Promise}\n */\n translateRoots() {\n const roots = Array.from(this.roots);\n return Promise.all(roots.map(root => this.translateFragment(root)));\n }\n /**\n * Pauses the `MutationObserver`.\n *\n * @private\n */\n pauseObserving() {\n if (!this.mutationObserver) {\n return;\n }\n this.translateMutations(this.mutationObserver.takeRecords());\n this.mutationObserver.disconnect();\n }\n /**\n * Resumes the `MutationObserver`.\n *\n * @private\n */\n resumeObserving() {\n if (!this.mutationObserver) {\n return;\n }\n for (const root of this.roots) {\n this.mutationObserver.observe(root, this.observerConfig);\n }\n }\n /**\n * Translate mutations detected by the `MutationObserver`.\n *\n * @private\n */\n translateMutations(mutations) {\n for (const mutation of mutations) {\n switch (mutation.type) {\n case \"attributes\":\n if (mutation.target.hasAttribute(\"data-l10n-id\")) {\n this.pendingElements.add(mutation.target);\n }\n break;\n case \"childList\":\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType === addedNode.ELEMENT_NODE) {\n if (addedNode.childElementCount) {\n for (const element of this.getTranslatables(addedNode)) {\n this.pendingElements.add(element);\n }\n }\n else if (addedNode.hasAttribute(L10NID_ATTR_NAME)) {\n this.pendingElements.add(addedNode);\n }\n }\n }\n break;\n }\n }\n // This fragment allows us to coalesce all pending translations\n // into a single requestAnimationFrame.\n if (this.pendingElements.size > 0) {\n if (this.pendingrAF === null) {\n this.pendingrAF = this.windowElement.requestAnimationFrame(() => {\n this.translateElements(Array.from(this.pendingElements));\n this.pendingElements.clear();\n this.pendingrAF = null;\n });\n }\n }\n }\n /**\n * Translate a DOM element or fragment asynchronously using this\n * `DOMLocalization` object.\n *\n * Manually trigger the translation (or re-translation) of a DOM fragment.\n * Use the `data-l10n-id` and `data-l10n-args` attributes to mark up the DOM\n * with information about which translations to use.\n *\n * Returns a `Promise` that gets resolved once the translation is complete.\n *\n * @param {DOMFragment} frag - Element or DocumentFragment to be translated\n * @returns {Promise}\n */\n translateFragment(frag) {\n return this.translateElements(this.getTranslatables(frag));\n }\n /**\n * Translate a list of DOM elements asynchronously using this\n * `DOMLocalization` object.\n *\n * Manually trigger the translation (or re-translation) of a list of elements.\n * Use the `data-l10n-id` and `data-l10n-args` attributes to mark up the DOM\n * with information about which translations to use.\n *\n * Returns a `Promise` that gets resolved once the translation is complete.\n *\n * @param {Array} elements - List of elements to be translated\n * @returns {Promise}\n */\n async translateElements(elements) {\n if (!elements.length) {\n return undefined;\n }\n const keys = elements.map(this.getKeysForElement);\n const translations = await this.formatMessages(keys);\n return this.applyTranslations(elements, translations);\n }\n /**\n * Applies translations onto elements.\n *\n * @param {Array} elements\n * @param {Array} translations\n * @private\n */\n applyTranslations(elements, translations) {\n this.pauseObserving();\n for (let i = 0; i < elements.length; i++) {\n if (translations[i] !== undefined) {\n translateElement(elements[i], translations[i]);\n }\n }\n this.resumeObserving();\n }\n /**\n * Collects all translatable child elements of the element.\n *\n * @param {Element} element\n * @returns {Array}\n * @private\n */\n getTranslatables(element) {\n const nodes = Array.from(element.querySelectorAll(L10N_ELEMENT_QUERY));\n if (typeof element.hasAttribute === \"function\" &&\n element.hasAttribute(L10NID_ATTR_NAME)) {\n nodes.push(element);\n }\n return nodes;\n }\n /**\n * Get the `data-l10n-*` attributes from DOM elements as a two-element\n * array.\n *\n * @param {Element} element\n * @returns {Object}\n * @private\n */\n getKeysForElement(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null),\n };\n }\n}\n","export { default as DOMLocalization } from \"./dom_localization.js\";\nexport { default as Localization } from \"./localization.js\";\n","/* Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DOMSVGFactory, shadow } from \"pdfjs-lib\";\n\nclass AltTextManager {\n #boundUpdateUIState = this.#updateUIState.bind(this);\n\n #boundSetPosition = this.#setPosition.bind(this);\n\n #boundOnClick = this.#onClick.bind(this);\n\n #currentEditor = null;\n\n #cancelButton;\n\n #dialog;\n\n #eventBus;\n\n #hasUsedPointer = false;\n\n #optionDescription;\n\n #optionDecorative;\n\n #overlayManager;\n\n #saveButton;\n\n #textarea;\n\n #uiManager;\n\n #previousAltText = null;\n\n #svgElement = null;\n\n #rectElement = null;\n\n #container;\n\n #telemetryData = null;\n\n constructor(\n {\n dialog,\n optionDescription,\n optionDecorative,\n textarea,\n cancelButton,\n saveButton,\n },\n container,\n overlayManager,\n eventBus\n ) {\n this.#dialog = dialog;\n this.#optionDescription = optionDescription;\n this.#optionDecorative = optionDecorative;\n this.#textarea = textarea;\n this.#cancelButton = cancelButton;\n this.#saveButton = saveButton;\n this.#overlayManager = overlayManager;\n this.#eventBus = eventBus;\n this.#container = container;\n\n dialog.addEventListener(\"close\", this.#close.bind(this));\n dialog.addEventListener(\"contextmenu\", event => {\n if (event.target !== this.#textarea) {\n event.preventDefault();\n }\n });\n cancelButton.addEventListener(\"click\", this.#finish.bind(this));\n saveButton.addEventListener(\"click\", this.#save.bind(this));\n optionDescription.addEventListener(\"change\", this.#boundUpdateUIState);\n optionDecorative.addEventListener(\"change\", this.#boundUpdateUIState);\n\n this.#overlayManager.register(dialog);\n }\n\n get _elements() {\n return shadow(this, \"_elements\", [\n this.#optionDescription,\n this.#optionDecorative,\n this.#textarea,\n this.#saveButton,\n this.#cancelButton,\n ]);\n }\n\n #createSVGElement() {\n if (this.#svgElement) {\n return;\n }\n\n // We create a mask to add to the dialog backdrop: the idea is to have a\n // darken background everywhere except on the editor to clearly see the\n // picture to describe.\n\n const svgFactory = new DOMSVGFactory();\n const svg = (this.#svgElement = svgFactory.createElement(\"svg\"));\n svg.setAttribute(\"width\", \"0\");\n svg.setAttribute(\"height\", \"0\");\n const defs = svgFactory.createElement(\"defs\");\n svg.append(defs);\n const mask = svgFactory.createElement(\"mask\");\n defs.append(mask);\n mask.setAttribute(\"id\", \"alttext-manager-mask\");\n mask.setAttribute(\"maskContentUnits\", \"objectBoundingBox\");\n let rect = svgFactory.createElement(\"rect\");\n mask.append(rect);\n rect.setAttribute(\"fill\", \"white\");\n rect.setAttribute(\"width\", \"1\");\n rect.setAttribute(\"height\", \"1\");\n rect.setAttribute(\"x\", \"0\");\n rect.setAttribute(\"y\", \"0\");\n\n rect = this.#rectElement = svgFactory.createElement(\"rect\");\n mask.append(rect);\n rect.setAttribute(\"fill\", \"black\");\n this.#dialog.append(svg);\n }\n\n async editAltText(uiManager, editor) {\n if (this.#currentEditor || !editor) {\n return;\n }\n\n this.#createSVGElement();\n\n this.#hasUsedPointer = false;\n for (const element of this._elements) {\n element.addEventListener(\"click\", this.#boundOnClick);\n }\n\n const { altText, decorative } = editor.altTextData;\n if (decorative === true) {\n this.#optionDecorative.checked = true;\n this.#optionDescription.checked = false;\n } else {\n this.#optionDecorative.checked = false;\n this.#optionDescription.checked = true;\n }\n this.#previousAltText = this.#textarea.value = altText?.trim() || \"\";\n this.#updateUIState();\n\n this.#currentEditor = editor;\n this.#uiManager = uiManager;\n this.#uiManager.removeEditListeners();\n this.#eventBus._on(\"resize\", this.#boundSetPosition);\n\n try {\n await this.#overlayManager.open(this.#dialog);\n this.#setPosition();\n } catch (ex) {\n this.#close();\n throw ex;\n }\n }\n\n #setPosition() {\n if (!this.#currentEditor) {\n return;\n }\n const dialog = this.#dialog;\n const { style } = dialog;\n const {\n x: containerX,\n y: containerY,\n width: containerW,\n height: containerH,\n } = this.#container.getBoundingClientRect();\n const { innerWidth: windowW, innerHeight: windowH } = window;\n const { width: dialogW, height: dialogH } = dialog.getBoundingClientRect();\n const { x, y, width, height } = this.#currentEditor.getClientDimensions();\n const MARGIN = 10;\n const isLTR = this.#uiManager.direction === \"ltr\";\n\n const xs = Math.max(x, containerX);\n const xe = Math.min(x + width, containerX + containerW);\n const ys = Math.max(y, containerY);\n const ye = Math.min(y + height, containerY + containerH);\n this.#rectElement.setAttribute(\"width\", `${(xe - xs) / windowW}`);\n this.#rectElement.setAttribute(\"height\", `${(ye - ys) / windowH}`);\n this.#rectElement.setAttribute(\"x\", `${xs / windowW}`);\n this.#rectElement.setAttribute(\"y\", `${ys / windowH}`);\n\n let left = null;\n let top = Math.max(y, 0);\n top += Math.min(windowH - (top + dialogH), 0);\n\n if (isLTR) {\n // Prefer to position the dialog \"after\" (so on the right) the editor.\n if (x + width + MARGIN + dialogW < windowW) {\n left = x + width + MARGIN;\n } else if (x > dialogW + MARGIN) {\n left = x - dialogW - MARGIN;\n }\n } else if (x > dialogW + MARGIN) {\n left = x - dialogW - MARGIN;\n } else if (x + width + MARGIN + dialogW < windowW) {\n left = x + width + MARGIN;\n }\n\n if (left === null) {\n top = null;\n left = Math.max(x, 0);\n left += Math.min(windowW - (left + dialogW), 0);\n if (y > dialogH + MARGIN) {\n top = y - dialogH - MARGIN;\n } else if (y + height + MARGIN + dialogH < windowH) {\n top = y + height + MARGIN;\n }\n }\n\n if (top !== null) {\n dialog.classList.add(\"positioned\");\n if (isLTR) {\n style.left = `${left}px`;\n } else {\n style.right = `${windowW - left - dialogW}px`;\n }\n style.top = `${top}px`;\n } else {\n dialog.classList.remove(\"positioned\");\n style.left = \"\";\n style.top = \"\";\n }\n }\n\n #finish() {\n if (this.#overlayManager.active === this.#dialog) {\n this.#overlayManager.close(this.#dialog);\n }\n }\n\n #close() {\n this.#eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n subtype: this.#currentEditor.editorType,\n data: this.#telemetryData || {\n action: \"alt_text_cancel\",\n alt_text_keyboard: !this.#hasUsedPointer,\n },\n },\n });\n this.#telemetryData = null;\n\n this.#removeOnClickListeners();\n this.#uiManager?.addEditListeners();\n this.#eventBus._off(\"resize\", this.#boundSetPosition);\n this.#currentEditor.altTextFinish();\n this.#currentEditor = null;\n this.#uiManager = null;\n }\n\n #updateUIState() {\n this.#textarea.disabled = this.#optionDecorative.checked;\n }\n\n #save() {\n const altText = this.#textarea.value.trim();\n const decorative = this.#optionDecorative.checked;\n this.#currentEditor.altTextData = {\n altText,\n decorative,\n };\n this.#telemetryData = {\n action: \"alt_text_save\",\n alt_text_description: !!altText,\n alt_text_edit:\n !!this.#previousAltText && this.#previousAltText !== altText,\n alt_text_decorative: decorative,\n alt_text_keyboard: !this.#hasUsedPointer,\n };\n this.#finish();\n }\n\n #onClick(evt) {\n if (evt.detail === 0) {\n return; // The keyboard was used.\n }\n this.#hasUsedPointer = true;\n this.#removeOnClickListeners();\n }\n\n #removeOnClickListeners() {\n for (const element of this._elements) {\n element.removeEventListener(\"click\", this.#boundOnClick);\n }\n }\n\n destroy() {\n this.#uiManager = null; // Avoid re-adding the edit listeners.\n this.#finish();\n this.#svgElement?.remove();\n this.#svgElement = this.#rectElement = null;\n }\n}\n\nexport { AltTextManager };\n","/* Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/editor/tools.js\").AnnotationEditorUIManager} AnnotationEditorUIManager */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/annotation_layer.js\").AnnotationLayer} AnnotationLayer */\n\nimport { AnnotationEditorLayer } from \"pdfjs-lib\";\nimport { NullL10n } from \"web-l10n_utils\";\n\n/**\n * @typedef {Object} AnnotationEditorLayerBuilderOptions\n * @property {AnnotationEditorUIManager} [uiManager]\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {IL10n} [l10n]\n * @property {TextAccessibilityManager} [accessibilityManager]\n * @property {AnnotationLayer} [annotationLayer]\n * @property {TextLayer} [textLayer]\n * @property {DrawLayer} [drawLayer]\n */\n\nclass AnnotationEditorLayerBuilder {\n #annotationLayer = null;\n\n #drawLayer = null;\n\n #textLayer = null;\n\n #uiManager;\n\n /**\n * @param {AnnotationEditorLayerBuilderOptions} options\n */\n constructor(options) {\n this.pageDiv = options.pageDiv;\n this.pdfPage = options.pdfPage;\n this.accessibilityManager = options.accessibilityManager;\n this.l10n = options.l10n || NullL10n;\n this.annotationEditorLayer = null;\n this.div = null;\n this._cancelled = false;\n this.#uiManager = options.uiManager;\n this.#annotationLayer = options.annotationLayer || null;\n this.#textLayer = options.textLayer || null;\n this.#drawLayer = options.drawLayer || null;\n }\n\n /**\n * @param {PageViewport} viewport\n * @param {string} intent (default value is 'display')\n */\n async render(viewport, intent = \"display\") {\n if (intent !== \"display\") {\n return;\n }\n\n if (this._cancelled) {\n return;\n }\n\n const clonedViewport = viewport.clone({ dontFlip: true });\n if (this.div) {\n this.annotationEditorLayer.update({ viewport: clonedViewport });\n this.show();\n return;\n }\n\n // Create an AnnotationEditor layer div\n const div = (this.div = document.createElement(\"div\"));\n div.className = \"annotationEditorLayer\";\n div.tabIndex = 0;\n div.hidden = true;\n div.dir = this.#uiManager.direction;\n this.pageDiv.append(div);\n\n this.annotationEditorLayer = new AnnotationEditorLayer({\n uiManager: this.#uiManager,\n div,\n accessibilityManager: this.accessibilityManager,\n pageIndex: this.pdfPage.pageNumber - 1,\n l10n: this.l10n,\n viewport: clonedViewport,\n annotationLayer: this.#annotationLayer,\n textLayer: this.#textLayer,\n drawLayer: this.#drawLayer,\n });\n\n const parameters = {\n viewport: clonedViewport,\n div,\n annotations: null,\n intent,\n };\n\n this.annotationEditorLayer.render(parameters);\n this.show();\n }\n\n cancel() {\n this._cancelled = true;\n\n if (!this.div) {\n return;\n }\n this.pageDiv = null;\n this.annotationEditorLayer.destroy();\n this.div.remove();\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n\n show() {\n if (!this.div || this.annotationEditorLayer.isEmpty) {\n return;\n }\n this.div.hidden = false;\n }\n}\n\nexport { AnnotationEditorLayerBuilder };\n","/* Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AnnotationEditorParamsType } from \"pdfjs-lib\";\n\nclass AnnotationEditorParams {\n /**\n * @param {AnnotationEditorParamsOptions} options\n * @param {EventBus} eventBus\n */\n constructor(options, eventBus) {\n this.eventBus = eventBus;\n this.#bindListeners(options);\n }\n\n #bindListeners({\n editorFreeTextFontSize,\n editorFreeTextColor,\n editorInkColor,\n editorInkThickness,\n editorInkOpacity,\n editorStampAddImage,\n }) {\n const dispatchEvent = (typeStr, value) => {\n this.eventBus.dispatch(\"switchannotationeditorparams\", {\n source: this,\n type: AnnotationEditorParamsType[typeStr],\n value,\n });\n };\n editorFreeTextFontSize.addEventListener(\"input\", function () {\n dispatchEvent(\"FREETEXT_SIZE\", this.valueAsNumber);\n });\n editorFreeTextColor.addEventListener(\"input\", function () {\n dispatchEvent(\"FREETEXT_COLOR\", this.value);\n });\n editorInkColor.addEventListener(\"input\", function () {\n dispatchEvent(\"INK_COLOR\", this.value);\n });\n editorInkThickness.addEventListener(\"input\", function () {\n dispatchEvent(\"INK_THICKNESS\", this.valueAsNumber);\n });\n editorInkOpacity.addEventListener(\"input\", function () {\n dispatchEvent(\"INK_OPACITY\", this.valueAsNumber);\n });\n editorStampAddImage.addEventListener(\"click\", () => {\n dispatchEvent(\"CREATE\");\n });\n\n this.eventBus._on(\"annotationeditorparamschanged\", evt => {\n for (const [type, value] of evt.details) {\n switch (type) {\n case AnnotationEditorParamsType.FREETEXT_SIZE:\n editorFreeTextFontSize.value = value;\n break;\n case AnnotationEditorParamsType.FREETEXT_COLOR:\n editorFreeTextColor.value = value;\n break;\n case AnnotationEditorParamsType.INK_COLOR:\n editorInkColor.value = value;\n break;\n case AnnotationEditorParamsType.INK_THICKNESS:\n editorInkThickness.value = value;\n break;\n case AnnotationEditorParamsType.INK_OPACITY:\n editorInkOpacity.value = value;\n break;\n }\n }\n });\n }\n}\n\nexport { AnnotationEditorParams };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/annotation_storage\").AnnotationStorage} AnnotationStorage */\n/** @typedef {import(\"./interfaces\").IDownloadManager} IDownloadManager */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport { AnnotationLayer } from \"pdfjs-lib\";\nimport { PresentationModeState } from \"./ui_utils.js\";\n\n/**\n * @typedef {Object} AnnotationLayerBuilderOptions\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage]\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderForms\n * @property {IPDFLinkService} linkService\n * @property {IDownloadManager} [downloadManager]\n * @property {boolean} [enableScripting]\n * @property {Promise} [hasJSActionsPromise]\n * @property {Promise> | null>}\n * [fieldObjectsPromise]\n * @property {Map} [annotationCanvasMap]\n * @property {TextAccessibilityManager} [accessibilityManager]\n */\n\nclass AnnotationLayerBuilder {\n #onPresentationModeChanged = null;\n\n /**\n * @param {AnnotationLayerBuilderOptions} options\n */\n constructor({\n pageDiv,\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n annotationCanvasMap = null,\n accessibilityManager = null,\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise || Promise.resolve(false);\n this._fieldObjectsPromise = fieldObjectsPromise || Promise.resolve(null);\n this._annotationCanvasMap = annotationCanvasMap;\n this._accessibilityManager = accessibilityManager;\n\n this.annotationLayer = null;\n this.div = null;\n this._cancelled = false;\n this._eventBus = linkService.eventBus;\n }\n\n /**\n * @param {PageViewport} viewport\n * @param {string} intent (default value is 'display')\n * @returns {Promise} A promise that is resolved when rendering of the\n * annotations is complete.\n */\n async render(viewport, intent = \"display\") {\n if (this.div) {\n if (this._cancelled || !this.annotationLayer) {\n return;\n }\n // If an annotationLayer already exists, refresh its children's\n // transformation matrices.\n this.annotationLayer.update({\n viewport: viewport.clone({ dontFlip: true }),\n });\n return;\n }\n\n const [annotations, hasJSActions, fieldObjects] = await Promise.all([\n this.pdfPage.getAnnotations({ intent }),\n this._hasJSActionsPromise,\n this._fieldObjectsPromise,\n ]);\n if (this._cancelled) {\n return;\n }\n\n // Create an annotation layer div and render the annotations\n // if there is at least one annotation.\n const div = (this.div = document.createElement(\"div\"));\n div.className = \"annotationLayer\";\n this.pageDiv.append(div);\n\n if (annotations.length === 0) {\n this.hide();\n return;\n }\n\n this.annotationLayer = new AnnotationLayer({\n div,\n accessibilityManager: this._accessibilityManager,\n annotationCanvasMap: this._annotationCanvasMap,\n page: this.pdfPage,\n viewport: viewport.clone({ dontFlip: true }),\n });\n\n await this.annotationLayer.render({\n annotations,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects,\n });\n\n // Ensure that interactive form elements in the annotationLayer are\n // disabled while PresentationMode is active (see issue 12232).\n if (this.linkService.isInPresentationMode) {\n this.#updatePresentationModeState(PresentationModeState.FULLSCREEN);\n }\n if (!this.#onPresentationModeChanged) {\n this.#onPresentationModeChanged = evt => {\n this.#updatePresentationModeState(evt.state);\n };\n this._eventBus?._on(\n \"presentationmodechanged\",\n this.#onPresentationModeChanged\n );\n }\n }\n\n cancel() {\n this._cancelled = true;\n\n if (this.#onPresentationModeChanged) {\n this._eventBus?._off(\n \"presentationmodechanged\",\n this.#onPresentationModeChanged\n );\n this.#onPresentationModeChanged = null;\n }\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n\n #updatePresentationModeState(state) {\n if (!this.div) {\n return;\n }\n let disableFormElements = false;\n\n switch (state) {\n case PresentationModeState.FULLSCREEN:\n disableFormElements = true;\n break;\n case PresentationModeState.NORMAL:\n break;\n default:\n return;\n }\n for (const section of this.div.childNodes) {\n if (section.hasAttribute(\"data-internal-link\")) {\n continue;\n }\n section.inert = disableFormElements;\n }\n }\n}\n\nexport { AnnotationLayerBuilder };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n AutoPrintRegExp,\n CursorTool,\n DEFAULT_SCALE_VALUE,\n getActiveOrFocusedElement,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n normalizeWheelEventDirection,\n parseQueryString,\n ProgressBar,\n RenderingStates,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n} from \"./ui_utils.js\";\nimport {\n AnnotationEditorType,\n build,\n FeatureTest,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n GlobalWorkerOptions,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n MissingPDFException,\n PDFWorker,\n PromiseCapability,\n shadow,\n UnexpectedResponseException,\n version,\n} from \"pdfjs-lib\";\nimport { AppOptions, OptionKind } from \"./app_options.js\";\nimport { AutomationEventBus, EventBus } from \"./event_utils.js\";\nimport { LinkTarget, PDFLinkService } from \"./pdf_link_service.js\";\nimport { AltTextManager } from \"web-alt_text_manager\";\nimport { AnnotationEditorParams } from \"web-annotation_editor_params\";\nimport { OverlayManager } from \"./overlay_manager.js\";\nimport { PasswordPrompt } from \"./password_prompt.js\";\nimport { PDFAttachmentViewer } from \"web-pdf_attachment_viewer\";\nimport { PDFCursorTools } from \"web-pdf_cursor_tools\";\nimport { PDFDocumentProperties } from \"web-pdf_document_properties\";\nimport { PDFFindBar } from \"web-pdf_find_bar\";\nimport { PDFFindController } from \"./pdf_find_controller.js\";\nimport { PDFHistory } from \"./pdf_history.js\";\nimport { PDFLayerViewer } from \"web-pdf_layer_viewer\";\nimport { PDFOutlineViewer } from \"web-pdf_outline_viewer\";\nimport { PDFPresentationMode } from \"web-pdf_presentation_mode\";\nimport { PDFRenderingQueue } from \"./pdf_rendering_queue.js\";\nimport { PDFScriptingManager } from \"./pdf_scripting_manager.js\";\nimport { PDFSidebar } from \"web-pdf_sidebar\";\nimport { PDFThumbnailViewer } from \"web-pdf_thumbnail_viewer\";\nimport { PDFViewer } from \"./pdf_viewer.js\";\nimport { SecondaryToolbar } from \"web-secondary_toolbar\";\nimport { Toolbar } from \"web-toolbar\";\nimport { ViewHistory } from \"./view_history.js\";\n\nconst FORCE_PAGES_LOADED_TIMEOUT = 10000; // ms\nconst WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; // ms\n\nconst ViewOnLoad = {\n UNKNOWN: -1,\n PREVIOUS: 0, // Default value.\n INITIAL: 1,\n};\n\nclass DefaultExternalServices {\n constructor() {\n throw new Error(\"Cannot initialize DefaultExternalServices.\");\n }\n\n static updateFindControlState(data) {}\n\n static updateFindMatchesCount(data) {}\n\n static initPassiveLoading(callbacks) {}\n\n static reportTelemetry(data) {}\n\n static createDownloadManager() {\n throw new Error(\"Not implemented: createDownloadManager\");\n }\n\n static createPreferences() {\n throw new Error(\"Not implemented: createPreferences\");\n }\n\n static async createL10n() {\n throw new Error(\"Not implemented: createL10n\");\n }\n\n static createScripting() {\n throw new Error(\"Not implemented: createScripting\");\n }\n\n static updateEditorStates(data) {\n throw new Error(\"Not implemented: updateEditorStates\");\n }\n\n static getNimbusExperimentData() {\n return shadow(this, \"getNimbusExperimentData\", Promise.resolve(null));\n }\n}\n\nconst PDFViewerApplication = {\n initialBookmark: document.location.hash.substring(1),\n _initializedCapability: new PromiseCapability(),\n appConfig: null,\n pdfDocument: null,\n pdfLoadingTask: null,\n printService: null,\n /** @type {PDFViewer} */\n pdfViewer: null,\n /** @type {PDFThumbnailViewer} */\n pdfThumbnailViewer: null,\n /** @type {PDFRenderingQueue} */\n pdfRenderingQueue: null,\n /** @type {PDFPresentationMode} */\n pdfPresentationMode: null,\n /** @type {PDFDocumentProperties} */\n pdfDocumentProperties: null,\n /** @type {PDFLinkService} */\n pdfLinkService: null,\n /** @type {PDFHistory} */\n pdfHistory: null,\n /** @type {PDFSidebar} */\n pdfSidebar: null,\n /** @type {PDFOutlineViewer} */\n pdfOutlineViewer: null,\n /** @type {PDFAttachmentViewer} */\n pdfAttachmentViewer: null,\n /** @type {PDFLayerViewer} */\n pdfLayerViewer: null,\n /** @type {PDFCursorTools} */\n pdfCursorTools: null,\n /** @type {PDFScriptingManager} */\n pdfScriptingManager: null,\n /** @type {ViewHistory} */\n store: null,\n /** @type {DownloadManager} */\n downloadManager: null,\n /** @type {OverlayManager} */\n overlayManager: null,\n /** @type {Preferences} */\n preferences: null,\n /** @type {Toolbar} */\n toolbar: null,\n /** @type {SecondaryToolbar} */\n secondaryToolbar: null,\n /** @type {EventBus} */\n eventBus: null,\n /** @type {IL10n} */\n l10n: null,\n /** @type {AnnotationEditorParams} */\n annotationEditorParams: null,\n isInitialViewSet: false,\n downloadComplete: false,\n isViewerEmbedded: window.parent !== window,\n url: \"\",\n baseUrl: \"\",\n _downloadUrl: \"\",\n externalServices: DefaultExternalServices,\n _boundEvents: Object.create(null),\n documentInfo: null,\n metadata: null,\n _contentDispositionFilename: null,\n _contentLength: null,\n _saveInProgress: false,\n _wheelUnusedTicks: 0,\n _wheelUnusedFactor: 1,\n _touchUnusedTicks: 0,\n _touchUnusedFactor: 1,\n _PDFBug: null,\n _hasAnnotationEditors: false,\n _title: document.title,\n _printAnnotationStoragePromise: null,\n _touchInfo: null,\n _isCtrlKeyDown: false,\n _nimbusDataPromise: null,\n\n // Called once when the document is loaded.\n async initialize(appConfig) {\n let l10nPromise;\n // In the (various) extension builds, where the locale is set automatically,\n // initialize the `L10n`-instance as soon as possible.\n if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n l10nPromise = this.externalServices.createL10n();\n }\n this.appConfig = appConfig;\n\n if (\n typeof PDFJSDev === \"undefined\"\n ? window.isGECKOVIEW\n : PDFJSDev.test(\"GECKOVIEW\")\n ) {\n this._nimbusDataPromise = this.externalServices.getNimbusExperimentData();\n }\n\n // Ensure that `Preferences`, and indirectly `AppOptions`, have initialized\n // before creating e.g. the various viewer components.\n try {\n await this.preferences.initializedPromise;\n } catch (ex) {\n console.error(`initialize: \"${ex.message}\".`);\n }\n if (AppOptions.get(\"pdfBugEnabled\")) {\n await this._parseHashParams();\n }\n\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n let mode;\n switch (AppOptions.get(\"viewerCssTheme\")) {\n case 1:\n mode = \"is-light\";\n break;\n case 2:\n mode = \"is-dark\";\n break;\n }\n if (mode) {\n document.documentElement.classList.add(mode);\n }\n }\n\n // Ensure that the `L10n`-instance has been initialized before creating\n // e.g. the various viewer components.\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n l10nPromise = this.externalServices.createL10n();\n }\n this.l10n = await l10nPromise;\n document.getElementsByTagName(\"html\")[0].dir = this.l10n.getDirection();\n // Connect Fluent, when necessary, and translate what we already have.\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n this.l10n.translate(appConfig.appContainer || document.documentElement);\n }\n\n if (\n this.isViewerEmbedded &&\n AppOptions.get(\"externalLinkTarget\") === LinkTarget.NONE\n ) {\n // Prevent external links from \"replacing\" the viewer,\n // when it's embedded in e.g. an