From 2dca5acb42913874baaad4d377a3be675978ba13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleksandrs=20Kor=C5=86ijenko?= Date: Wed, 6 Sep 2023 18:34:24 +0300 Subject: [PATCH] Update pdf.js to v3.10.111 --- build/pdf.js | 22777 ++++++- build/pdf.js.map | 2 +- build/pdf.sandbox.js | 3257 +- build/pdf.sandbox.js.map | 2 +- build/pdf.worker.js | 62048 +++++++++++++++++++- build/pdf.worker.js.map | 2 +- web/debugger.css | 12 +- web/debugger.js | 24 +- web/images/annotation-paperclip.svg | 6 + web/images/annotation-pushpin.svg | 7 + web/images/cursor-editorFreeText.svg | 3 + web/images/gv-toolbarButton-download.svg | 3 + web/images/gv-toolbarButton-openinapp.svg | 11 + web/images/toolbarButton-editorStamp.svg | 8 + web/locale/ach/viewer.properties | 51 +- web/locale/af/viewer.properties | 25 +- web/locale/an/viewer.properties | 25 +- web/locale/ar/viewer.properties | 27 +- web/locale/ast/viewer.properties | 22 - web/locale/az/viewer.properties | 25 +- web/locale/be/viewer.properties | 54 +- web/locale/bg/viewer.properties | 25 +- web/locale/bn/viewer.properties | 25 +- web/locale/bo/viewer.properties | 25 +- web/locale/br/viewer.properties | 27 +- web/locale/brx/viewer.properties | 25 +- web/locale/bs/viewer.properties | 25 +- web/locale/ca/viewer.properties | 53 +- web/locale/cak/viewer.properties | 52 +- web/locale/ckb/viewer.properties | 25 +- web/locale/cs/viewer.properties | 64 +- web/locale/cy/viewer.properties | 65 +- web/locale/da/viewer.properties | 59 +- web/locale/de/viewer.properties | 61 +- web/locale/dsb/viewer.properties | 59 +- web/locale/el/viewer.properties | 57 +- web/locale/en-CA/viewer.properties | 45 +- web/locale/en-GB/viewer.properties | 59 +- web/locale/en-US/viewer.properties | 18 +- web/locale/eo/viewer.properties | 59 +- web/locale/es-AR/viewer.properties | 59 +- web/locale/es-CL/viewer.properties | 59 +- web/locale/es-ES/viewer.properties | 50 +- web/locale/es-MX/viewer.properties | 48 +- web/locale/et/viewer.properties | 37 +- web/locale/eu/viewer.properties | 40 +- web/locale/fa/viewer.properties | 51 +- web/locale/ff/viewer.properties | 25 +- web/locale/fi/viewer.properties | 55 +- web/locale/fr/viewer.properties | 59 +- web/locale/fur/viewer.properties | 264 + web/locale/fy-NL/viewer.properties | 46 +- web/locale/ga-IE/viewer.properties | 25 +- web/locale/gd/viewer.properties | 56 +- web/locale/gl/viewer.properties | 78 +- web/locale/gn/viewer.properties | 46 +- web/locale/gu-IN/viewer.properties | 25 +- web/locale/he/viewer.properties | 58 +- web/locale/hi-IN/viewer.properties | 38 +- web/locale/hr/viewer.properties | 44 +- web/locale/hsb/viewer.properties | 59 +- web/locale/hu/viewer.properties | 59 +- web/locale/hy-AM/viewer.properties | 43 +- web/locale/hye/viewer.properties | 27 +- web/locale/ia/viewer.properties | 59 +- web/locale/id/viewer.properties | 46 +- web/locale/is/viewer.properties | 59 +- web/locale/it/viewer.properties | 36 +- web/locale/ja/viewer.properties | 55 +- web/locale/ka/viewer.properties | 63 +- web/locale/kab/viewer.properties | 48 +- web/locale/kk/viewer.properties | 46 +- web/locale/km/viewer.properties | 25 +- web/locale/kn/viewer.properties | 25 +- web/locale/ko/viewer.properties | 62 +- web/locale/lij/viewer.properties | 25 +- web/locale/lo/viewer.properties | 148 +- web/locale/locale.properties | 6 + web/locale/lt/viewer.properties | 35 +- web/locale/ltg/viewer.properties | 25 +- web/locale/lv/viewer.properties | 25 +- web/locale/meh/viewer.properties | 5 - web/locale/mk/viewer.properties | 118 +- web/locale/mr/viewer.properties | 25 +- web/locale/ms/viewer.properties | 25 +- web/locale/my/viewer.properties | 25 +- web/locale/nb-NO/viewer.properties | 50 +- web/locale/ne-NP/viewer.properties | 25 +- web/locale/nl/viewer.properties | 59 +- web/locale/nn-NO/viewer.properties | 57 +- web/locale/oc/viewer.properties | 73 +- web/locale/pa-IN/viewer.properties | 48 +- web/locale/pl/viewer.properties | 59 +- web/locale/pt-BR/viewer.properties | 65 +- web/locale/pt-PT/viewer.properties | 59 +- web/locale/rm/viewer.properties | 55 +- web/locale/ro/viewer.properties | 25 +- web/locale/ru/viewer.properties | 46 +- web/locale/sat/viewer.properties | 110 +- web/locale/sc/viewer.properties | 68 +- web/locale/sco/viewer.properties | 27 +- web/locale/si/viewer.properties | 53 +- web/locale/sk/viewer.properties | 59 +- web/locale/skr/viewer.properties | 264 + web/locale/sl/viewer.properties | 59 +- web/locale/son/viewer.properties | 25 +- web/locale/sq/viewer.properties | 58 +- web/locale/sr/viewer.properties | 54 +- web/locale/sv-SE/viewer.properties | 55 +- web/locale/szl/viewer.properties | 25 +- web/locale/ta/viewer.properties | 25 +- web/locale/te/viewer.properties | 25 +- web/locale/tg/viewer.properties | 73 +- web/locale/th/viewer.properties | 53 +- web/locale/tl/viewer.properties | 25 +- web/locale/tr/viewer.properties | 40 +- web/locale/trs/viewer.properties | 22 - web/locale/uk/viewer.properties | 59 +- web/locale/ur/viewer.properties | 25 +- web/locale/uz/viewer.properties | 25 +- web/locale/vi/viewer.properties | 59 +- web/locale/wo/viewer.properties | 23 +- web/locale/xh/viewer.properties | 25 +- web/locale/zh-CN/viewer.properties | 65 +- web/locale/zh-TW/viewer.properties | 61 +- web/viewer.css | 2893 +- web/viewer.html | 50 +- web/viewer.js | 16644 +++++- web/viewer.js.map | 2 +- 129 files changed, 110026 insertions(+), 3202 deletions(-) create mode 100644 web/images/annotation-paperclip.svg create mode 100644 web/images/annotation-pushpin.svg create mode 100644 web/images/cursor-editorFreeText.svg create mode 100644 web/images/gv-toolbarButton-download.svg create mode 100644 web/images/gv-toolbarButton-openinapp.svg create mode 100644 web/images/toolbarButton-editorStamp.svg create mode 100644 web/locale/fur/viewer.properties create mode 100644 web/locale/skr/viewer.properties diff --git a/build/pdf.js b/build/pdf.js index 8009582..1848621 100644 --- a/build/pdf.js +++ b/build/pdf.js @@ -2,7 +2,7 @@ * @licstart The following is the entire license notice for the * JavaScript code in this page * - * Copyright 2022 Mozilla Foundation + * Copyright 2023 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,22775 @@ * @licend The above is the entire license notice for the * JavaScript code in this page */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("pdfjs-dist/build/pdf",[],e):"object"==typeof exports?exports["pdfjs-dist/build/pdf"]=e():t["pdfjs-dist/build/pdf"]=t.pdfjsLib=e()}(globalThis,()=>(()=>{var __webpack_modules__=[,(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VerbosityLevel=e.Util=e.UnknownErrorException=e.UnexpectedResponseException=e.UNSUPPORTED_FEATURES=e.TextRenderingMode=e.StreamType=e.RenderingIntentFlag=e.PermissionFlag=e.PasswordResponses=e.PasswordException=e.PageActionEventType=e.OPS=e.MissingPDFException=e.LINE_FACTOR=e.LINE_DESCENT_FACTOR=e.InvalidPDFException=e.ImageKind=e.IDENTITY_MATRIX=e.FormatError=e.FontType=e.FeatureTest=e.FONT_IDENTITY_MATRIX=e.DocumentActionEventType=e.CMapCompressionType=e.BaseException=e.AnnotationType=e.AnnotationStateModelType=e.AnnotationReviewState=e.AnnotationReplyType=e.AnnotationMode=e.AnnotationMarkedState=e.AnnotationFlag=e.AnnotationFieldFlag=e.AnnotationEditorType=e.AnnotationEditorPrefix=e.AnnotationEditorParamsType=e.AnnotationBorderStyleType=e.AnnotationActionEventType=e.AbortException=void 0,e.arrayByteLength=v,e.arraysToBytes=function(r){var a=r.length;if(1===a&&r[0]instanceof Uint8Array)return r[0];let e=0;for(let t=0;t"\n"===t?"\\n":"\r"===t?"\\r":"\\"+t)},e.getModificationDate=function(){var t=0=a.INFOS&&console.log("Info: "+t)},e.isArrayBuffer=function(t){return"object"==typeof t&&null!==t&&void 0!==t.byteLength},e.isArrayEqual=function(r,a){if(r.length!==a.length)return!1;for(let t=0,e=r.length;t>24&255,t>>16&255,t>>8&255,255&t)},e.stringToBytes=m,e.stringToPDFString=function(r){if("ï"<=r[0]){let t;if("þ"===r[0]&&"ÿ"===r[1]?t="utf-16be":"ÿ"===r[0]&&"þ"===r[1]?t="utf-16le":"ï"===r[0]&&"»"===r[1]&&"¿"===r[2]&&(t="utf-8"),t)try{var e=new TextDecoder(t,{fatal:!0}),a=m(r);return e.decode(a)}catch(t){n(`stringToPDFString: "${t}".`)}}var i=[];for(let t=0,e=r.length;t>8&255),String.fromCharCode(255&i))}return a.join("")},e.stringToUTF8String=A,e.unreachable=s,e.utf8StringToString=function(t){return unescape(encodeURIComponent(t))},e.warn=n,globalThis._pdfjsCompatibilityChecked||(globalThis._pdfjsCompatibilityChecked=!0,r(2));e.IDENTITY_MATRIX=[1,0,0,1,0,0],e.FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],e.LINE_FACTOR=1.35,e.LINE_DESCENT_FACTOR=.35,e.RenderingIntentFlag={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256},e.AnnotationMode={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},e.AnnotationEditorPrefix="pdfjs_internal_editor_",e.AnnotationEditorType={DISABLE:-1,NONE:0,FREETEXT:3,INK:15},e.AnnotationEditorParamsType={FREETEXT_SIZE:1,FREETEXT_COLOR:2,FREETEXT_OPACITY:3,INK_COLOR:11,INK_THICKNESS:12,INK_OPACITY:13},e.PermissionFlag={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},e.TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},e.ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},e.AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26},e.AnnotationStateModelType={MARKED:"Marked",REVIEW:"Review"},e.AnnotationMarkedState={MARKED:"Marked",UNMARKED:"Unmarked"},e.AnnotationReviewState={ACCEPTED:"Accepted",REJECTED:"Rejected",CANCELLED:"Cancelled",COMPLETED:"Completed",NONE:"None"},e.AnnotationReplyType={GROUP:"Group",REPLY:"R"},e.AnnotationFlag={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512},e.AnnotationFieldFlag={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864},e.AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},e.AnnotationActionEventType={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"},e.DocumentActionEventType={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"},e.PageActionEventType={O:"PageOpen",C:"PageClose"},e.StreamType={UNKNOWN:"UNKNOWN",FLATE:"FLATE",LZW:"LZW",DCT:"DCT",JPX:"JPX",JBIG:"JBIG",A85:"A85",AHX:"AHX",CCF:"CCF",RLX:"RLX"};e.FontType={UNKNOWN:"UNKNOWN",TYPE1:"TYPE1",TYPE1STANDARD:"TYPE1STANDARD",TYPE1C:"TYPE1C",CIDFONTTYPE0:"CIDFONTTYPE0",CIDFONTTYPE0C:"CIDFONTTYPE0C",TRUETYPE:"TRUETYPE",CIDFONTTYPE2:"CIDFONTTYPE2",TYPE3:"TYPE3",OPENTYPE:"OPENTYPE",TYPE0:"TYPE0",MMTYPE1:"MMTYPE1"};const a={ERRORS:0,WARNINGS:1,INFOS:5};e.VerbosityLevel=a;e.CMapCompressionType={NONE:0,BINARY:1},e.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},e.UNSUPPORTED_FEATURES={forms:"forms",javaScript:"javaScript",signatures:"signatures",smask:"smask",shadingPattern:"shadingPattern",errorTilingPattern:"errorTilingPattern",errorExtGState:"errorExtGState",errorXObject:"errorXObject",errorFontLoadType3:"errorFontLoadType3",errorFontState:"errorFontState",errorFontMissing:"errorFontMissing",errorFontTranslate:"errorFontTranslate",errorColorSpace:"errorColorSpace",errorOperatorList:"errorOperatorList",errorFontToUnicode:"errorFontToUnicode",errorFontLoadNative:"errorFontLoadNative",errorFontBuildPath:"errorFontBuildPath",errorFontGetPath:"errorFontGetPath",errorMarkedContent:"errorMarkedContent",errorContentSubStream:"errorContentSubStream"};e.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let i=a.WARNINGS;function n(t){i>=a.WARNINGS&&console.log("Warning: "+t)}function s(t){throw new Error(t)}function o(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!1}),r}l.prototype=new Error;r=l.constructor=l;function l(t,e){this.constructor===l&&s("Cannot initialize BaseException."),this.message=t,this.name=e}class h extends(e.BaseException=r){constructor(t,e){super(t,"PasswordException"),this.code=e}}e.PasswordException=h;class c extends r{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}}e.UnknownErrorException=c;class d extends r{constructor(t){super(t,"InvalidPDFException")}}e.InvalidPDFException=d;class u extends r{constructor(t){super(t,"MissingPDFException")}}e.MissingPDFException=u;class p extends r{constructor(t,e){super(t,"UnexpectedResponseException"),this.status=e}}e.UnexpectedResponseException=p;class f extends r{constructor(t){super(t,"FormatError")}}e.FormatError=f;class g extends r{constructor(t){super(t,"AbortException")}}function m(e){"string"!=typeof e&&s("Invalid argument for stringToBytes");var r=e.length,a=new Uint8Array(r);for(let t=0;tt.toString(16).padStart(2,"0"));class _{static makeHexColor(t,e,r){return"#"+b[t]+b[e]+b[r]}static scaleMinMax(t,e){let r;t[0]?(t[0]<0&&(r=e[0],e[0]=e[1],e[1]=r),e[0]*=t[0],e[1]*=t[0],t[3]<0&&(r=e[2],e[2]=e[3],e[3]=r),e[2]*=t[3],e[3]*=t[3]):(r=e[0],e[0]=e[2],e[2]=r,r=e[1],e[1]=e[3],e[3]=r,t[1]<0&&(r=e[2],e[2]=e[3],e[3]=r),e[2]*=t[1],e[3]*=t[1],t[2]<0&&(r=e[0],e[0]=e[1],e[1]=r),e[0]*=t[2],e[1]*=t[2]),e[0]+=t[4],e[1]+=t[4],e[2]+=t[5],e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static applyTransform(t,e){return[t[0]*e[0]+t[1]*e[2]+e[4],t[0]*e[1]+t[1]*e[3]+e[5]]}static applyInverseTransform(t,e){var r=e[0]*e[3]-e[1]*e[2];return[(t[0]*e[3]-t[1]*e[2]+e[2]*e[5]-e[4]*e[3])/r,(-t[0]*e[1]+t[1]*e[0]+e[4]*e[1]-e[5]*e[0])/r]}static getAxialAlignedBoundingBox(t,e){var r=_.applyTransform(t,e),a=_.applyTransform(t.slice(2,4),e),i=_.applyTransform([t[0],t[3]],e),t=_.applyTransform([t[2],t[1]],e);return[Math.min(r[0],a[0],i[0],t[0]),Math.min(r[1],a[1],i[1],t[1]),Math.max(r[0],a[0],i[0],t[0]),Math.max(r[1],a[1],i[1],t[1])]}static inverseTransform(t){var e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t){var e=[t[0],t[2],t[1],t[3]],r=t[0]*e[0]+t[1]*e[2],a=t[0]*e[1]+t[1]*e[3],i=t[2]*e[0]+t[3]*e[2],t=t[2]*e[1]+t[3]*e[3],e=(r+t)/2,r=Math.sqrt((r+t)**2-4*(r*t-i*a))/2,t=e-r||1;return[Math.sqrt(e+r||1),Math.sqrt(t)]}static normalizeRect(t){var e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){var r,a=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),i=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));return i{"use strict";var a=r(3);!globalThis.btoa&&a.isNodeJS&&(globalThis.btoa=function(t){return Buffer.from(t,"binary").toString("base64")}),!globalThis.atob&&a.isNodeJS&&(globalThis.atob=function(t){return Buffer.from(t,"base64").toString("binary")}),!globalThis.DOMMatrix&&a.isNodeJS&&(globalThis.DOMMatrix=require("canvas").DOMMatrix),!globalThis.ReadableStream&&a.isNodeJS&&(globalThis.ReadableStream=require("web-streams-polyfill/dist/ponyfill.js").ReadableStream),Array.prototype.at||r(4),Uint8Array.prototype.at||r(79),globalThis.structuredClone||r(89)},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isNodeJS=void 0;var r=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type);e.isNodeJS=r},(t,e,r)=>{r(5);r=r(78);t.exports=r("Array","at")},(t,e,r)=>{"use strict";var a=r(6),i=r(44),s=r(68),n=r(66),r=r(73);a({target:"Array",proto:!0},{at:function(t){var e=i(this),r=s(e),t=n(t),t=0<=t?t:r+t;return t<0||r<=t?void 0:e[t]}}),r("at")},(t,e,r)=>{var h=r(7),c=r(8).f,d=r(48),u=r(52),p=r(42),f=r(60),g=r(72);t.exports=function(t,e){var r,a,i,s=t.target,n=t.global,o=t.stat,l=n?h:o?h[s]||p(s,{}):(h[s]||{}).prototype;if(l)for(r in e){if(a=e[r],i=t.dontCallGetSet?(i=c(l,r))&&i.value:l[r],!g(n?r:s+(o?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;f(a,i)}(t.sham||i&&i.sham)&&d(a,"sham",!0),u(l,r,a,t)}}},t=>{function e(t){return t&&t.Math==Math&&t}t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof global&&global)||function(){return this}()||Function("return this")()},(t,e,r)=>{var a=r(9),i=r(11),s=r(13),n=r(14),o=r(15),l=r(22),h=r(43),c=r(46),d=Object.getOwnPropertyDescriptor;e.f=a?d:function(t,e){if(t=o(t),e=l(e),c)try{return d(t,e)}catch(t){}if(h(t,e))return n(!i(s.f,t,e),t[e])}},(t,e,r)=>{r=r(10);t.exports=!r(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},t=>{t.exports=function(t){try{return!!t()}catch(t){return!0}}},(t,e,r)=>{var r=r(12),a=Function.prototype.call;t.exports=r?a.bind(a):function(){return a.apply(a,arguments)}},(t,e,r)=>{r=r(10);t.exports=!r(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})},(t,e)=>{"use strict";var r={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,i=a&&!r.call({1:2},1);e.f=i?function(t){t=a(this,t);return!!t&&t.enumerable}:r},t=>{t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},(t,e,r)=>{var a=r(16),i=r(20);t.exports=function(t){return a(i(t))}},(t,e,r)=>{var a=r(17),i=r(10),s=r(18),n=Object,o=a("".split);t.exports=i(function(){return!n("z").propertyIsEnumerable(0)})?function(t){return"String"==s(t)?o(t,""):n(t)}:n},(t,e,r)=>{var a=r(18),i=r(19);t.exports=function(t){if("Function"===a(t))return i(t)}},(t,e,r)=>{var r=r(19),a=r({}.toString),i=r("".slice);t.exports=function(t){return i(a(t),8,-1)}},(t,e,r)=>{var r=r(12),a=Function.prototype,i=a.call,a=r&&a.bind.bind(i,i);t.exports=r?a:function(t){return function(){return i.apply(t,arguments)}}},(t,e,r)=>{var a=r(21),i=TypeError;t.exports=function(t){if(a(t))throw i("Can't call method on "+t);return t}},t=>{t.exports=function(t){return null==t}},(t,e,r)=>{var a=r(23),i=r(27);t.exports=function(t){t=a(t,"string");return i(t)?t:t+""}},(t,e,r)=>{var a=r(11),i=r(24),s=r(27),n=r(34),o=r(37),r=r(38),l=TypeError,h=r("toPrimitive");t.exports=function(t,e){if(!i(t)||s(t))return t;var r=n(t,h);if(r){if(r=a(r,t,e=void 0===e?"default":e),!i(r)||s(r))return r;throw l("Can't convert object to primitive value")}return o(t,e=void 0===e?"number":e)}},(t,e,r)=>{var a=r(25),r=r(26),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:a(t)||t===i}:function(t){return"object"==typeof t?null!==t:a(t)}},(t,e,r)=>{var r=r(26),a=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===a}:function(t){return"function"==typeof t}},t=>{var e="object"==typeof document&&document.all;t.exports={all:e,IS_HTMLDDA:void 0===e&&void 0!==e}},(t,e,r)=>{var a=r(28),i=r(25),s=r(29),r=r(30),n=Object;t.exports=r?function(t){return"symbol"==typeof t}:function(t){var e=a("Symbol");return i(e)&&s(e.prototype,n(t))}},(t,e,r)=>{var a=r(7),i=r(25);t.exports=function(t,e){return arguments.length<2?(r=a[t],i(r)?r:void 0):a[t]&&a[t][e];var r}},(t,e,r)=>{r=r(17);t.exports=r({}.isPrototypeOf)},(t,e,r)=>{r=r(31);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},(t,e,r)=>{var a=r(32),r=r(10);t.exports=!!Object.getOwnPropertySymbols&&!r(function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&a&&a<41})},(t,e,r)=>{var a,i,s=r(7),r=r(33),n=s.process,s=s.Deno,n=n&&n.versions||s&&s.version,s=n&&n.v8;!(i=s?0<(a=s.split("."))[0]&&a[0]<4?1:+(a[0]+a[1]):i)&&r&&(!(a=r.match(/Edge\/(\d+)/))||74<=a[1])&&(a=r.match(/Chrome\/(\d+)/))&&(i=+a[1]),t.exports=i},(t,e,r)=>{r=r(28);t.exports=r("navigator","userAgent")||""},(t,e,r)=>{var a=r(35),i=r(21);t.exports=function(t,e){t=t[e];return i(t)?void 0:a(t)}},(t,e,r)=>{var a=r(25),i=r(36),s=TypeError;t.exports=function(t){if(a(t))return t;throw s(i(t)+" is not a function")}},t=>{var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},(t,e,r)=>{var i=r(11),s=r(25),n=r(24),o=TypeError;t.exports=function(t,e){var r,a;if("string"===e&&s(r=t.toString)&&!n(a=i(r,t)))return a;if(s(r=t.valueOf)&&!n(a=i(r,t)))return a;if("string"!==e&&s(r=t.toString)&&!n(a=i(r,t)))return a;throw o("Can't convert object to primitive value")}},(t,e,r)=>{var a=r(7),i=r(39),s=r(43),n=r(45),o=r(31),l=r(30),h=i("wks"),c=a.Symbol,d=c&&c.for,u=l?c:c&&c.withoutSetter||n;t.exports=function(t){var e;return s(h,t)&&(o||"string"==typeof h[t])||(e="Symbol."+t,o&&s(c,t)?h[t]=c[t]:h[t]=(l&&d?d:u)(e)),h[t]}},(t,e,r)=>{var a=r(40),i=r(41);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.26.0",mode:a?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE",source:"https://github.com/zloirock/core-js"})},t=>{t.exports=!1},(t,e,r)=>{var a=r(7),r=r(42),i="__core-js_shared__",a=a[i]||r(i,{});t.exports=a},(t,e,r)=>{var a=r(7),i=Object.defineProperty;t.exports=function(e,r){try{i(a,e,{value:r,configurable:!0,writable:!0})}catch(t){a[e]=r}return r}},(t,e,r)=>{var a=r(17),i=r(44),s=a({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return s(i(t),e)}},(t,e,r)=>{var a=r(20),i=Object;t.exports=function(t){return i(a(t))}},(t,e,r)=>{var r=r(17),a=0,i=Math.random(),s=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+s(++a+i,36)}},(t,e,r)=>{var a=r(9),i=r(10),s=r(47);t.exports=!a&&!i(function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a})},(t,e,r)=>{var a=r(7),r=r(24),i=a.document,s=r(i)&&r(i.createElement);t.exports=function(t){return s?i.createElement(t):{}}},(t,e,r)=>{var a=r(9),i=r(49),s=r(14);t.exports=a?function(t,e,r){return i.f(t,e,s(1,r))}:function(t,e,r){return t[e]=r,t}},(t,e,r)=>{var a=r(9),i=r(46),s=r(50),n=r(51),o=r(22),l=TypeError,h=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d="enumerable",u="configurable",p="writable";e.f=a?s?function(t,e,r){var a;return n(t),e=o(e),n(r),"function"==typeof t&&"prototype"===e&&"value"in r&&p in r&&!r[p]&&(a=c(t,e))&&a[p]&&(t[e]=r.value,r={configurable:(u in r?r:a)[u],enumerable:(d in r?r:a)[d],writable:!1}),h(t,e,r)}:h:function(t,e,r){if(n(t),e=o(e),n(r),i)try{return h(t,e,r)}catch(t){}if("get"in r||"set"in r)throw l("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},(t,e,r)=>{var a=r(9),r=r(10);t.exports=a&&r(function(){return 42!=Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},(t,e,r)=>{var a=r(24),i=String,s=TypeError;t.exports=function(t){if(a(t))return t;throw s(i(t)+" is not an object")}},(t,e,r)=>{var n=r(25),o=r(49),l=r(53),h=r(42);t.exports=function(t,e,r,a){var i=(a=a||{}).enumerable,s=void 0!==a.name?a.name:e;if(n(r)&&l(r,s,a),a.global)i?t[e]=r:h(e,r);else{try{a.unsafe?t[e]&&(i=!0):delete t[e]}catch(t){}i?t[e]=r:o.f(t,e,{value:r,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return t}},(t,e,r)=>{var a=r(10),i=r(25),s=r(43),n=r(9),o=r(54).CONFIGURABLE,l=r(55),r=r(56),h=r.enforce,c=r.get,d=Object.defineProperty,u=n&&!a(function(){return 8!==d(function(){},"length",{value:8}).length}),p=String(String).split("String"),r=t.exports=function(t,e,r){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!s(t,"name")||o&&t.name!==e)&&(n?d(t,"name",{value:e,configurable:!0}):t.name=e),u&&r&&s(r,"arity")&&t.length!==r.arity&&d(t,"length",{value:r.arity});try{r&&s(r,"constructor")&&r.constructor?n&&d(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}r=h(t);return s(r,"source")||(r.source=p.join("string"==typeof e?e:"")),t};Function.prototype.toString=r(function(){return i(this)&&c(this).source||l(this)},"toString")},(t,e,r)=>{var a=r(9),r=r(43),i=Function.prototype,s=a&&Object.getOwnPropertyDescriptor,r=r(i,"name"),n=r&&"something"===function(){}.name,a=r&&(!a||s(i,"name").configurable);t.exports={EXISTS:r,PROPER:n,CONFIGURABLE:a}},(t,e,r)=>{var a=r(17),i=r(25),r=r(41),s=a(Function.toString);i(r.inspectSource)||(r.inspectSource=function(t){return s(t)}),t.exports=r.inspectSource},(t,e,r)=>{var a,i,s,n,o=r(57),l=r(7),h=r(24),c=r(48),d=r(43),u=r(41),p=r(58),r=r(59),f="Object already initialized",g=l.TypeError,l=l.WeakMap,m=o||u.state?((s=u.state||(u.state=new l)).get=s.get,s.has=s.has,s.set=s.set,a=function(t,e){if(s.has(t))throw g(f);return e.facade=t,s.set(t,e),e},i=function(t){return s.get(t)||{}},function(t){return s.has(t)}):(r[n=p("state")]=!0,a=function(t,e){if(d(t,n))throw g(f);return e.facade=t,c(t,n,e),e},i=function(t){return d(t,n)?t[n]:{}},function(t){return d(t,n)});t.exports={set:a,get:i,has:m,enforce:function(t){return m(t)?i(t):a(t,{})},getterFor:function(e){return function(t){if(h(t)&&(t=i(t)).type===e)return t;throw g("Incompatible receiver, "+e+" required")}}}},(t,e,r)=>{var a=r(7),r=r(25),a=a.WeakMap;t.exports=r(a)&&/native code/.test(String(a))},(t,e,r)=>{var a=r(39),i=r(45),s=a("keys");t.exports=function(t){return s[t]||(s[t]=i(t))}},t=>{t.exports={}},(t,e,r)=>{var l=r(43),h=r(61),c=r(8),d=r(49);t.exports=function(t,e,r){for(var a=h(e),i=d.f,s=c.f,n=0;n{var a=r(28),i=r(17),s=r(62),n=r(71),o=r(51),l=i([].concat);t.exports=a("Reflect","ownKeys")||function(t){var e=s.f(o(t)),r=n.f;return r?l(e,r(t)):e}},(t,e,r)=>{var a=r(63),i=r(70).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return a(t,i)}},(t,e,r)=>{var a=r(17),n=r(43),o=r(15),l=r(64).indexOf,h=r(59),c=a([].push);t.exports=function(t,e){var r,a=o(t),i=0,s=[];for(r in a)!n(h,r)&&n(a,r)&&c(s,r);for(;e.length>i;)!n(a,r=e[i++])||~l(s,r)||c(s,r);return s}},(t,e,r)=>{function a(o){return function(t,e,r){var a,i=l(t),s=c(i),n=h(r,s);if(o&&e!=e){for(;n{var a=r(66),i=Math.max,s=Math.min;t.exports=function(t,e){t=a(t);return t<0?i(t+e,0):s(t,e)}},(t,e,r)=>{var a=r(67);t.exports=function(t){t=+t;return t!=t||0==t?0:a(t)}},t=>{var e=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(t){t=+t;return(0{var a=r(69);t.exports=function(t){return a(t.length)}},(t,e,r)=>{var a=r(66),i=Math.min;t.exports=function(t){return 0{t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},(t,e)=>{e.f=Object.getOwnPropertySymbols},(t,e,r)=>{function a(t,e){return(t=l[o(t)])==c||t!=h&&(s(e)?i(e):!!e)}var i=r(10),s=r(25),n=/#|\.prototype\./,o=a.normalize=function(t){return String(t).replace(n,".").toLowerCase()},l=a.data={},h=a.NATIVE="N",c=a.POLYFILL="P";t.exports=a},(t,e,r)=>{var a=r(38),i=r(74),r=r(49).f,s=a("unscopables"),n=Array.prototype;null==n[s]&&r(n,s,{configurable:!0,value:i(null)}),t.exports=function(t){n[s][t]=!0}},(t,e,r)=>{function a(){}function i(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e}var s,n=r(51),o=r(75),l=r(70),h=r(59),c=r(77),d=r(47),r=r(58),u="prototype",p="script",f=r("IE_PROTO"),g=function(t){return"<"+p+">"+t+""},m=function(){try{s=new ActiveXObject("htmlfile")}catch(t){}m="undefined"==typeof document||document.domain&&s?i(s):(t=d("iframe"),e="java"+p+":",t.style.display="none",c.appendChild(t),t.src=String(e),(e=t.contentWindow.document).open(),e.write(g("document.F=Object")),e.close(),e.F);for(var t,e,r=l.length;r--;)delete m[u][l[r]];return m()};h[f]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(a[u]=n(t),r=new a,a[u]=null,r[f]=t):r=m(),void 0===e?r:o.f(r,e)}},(t,e,r)=>{var a=r(9),i=r(50),o=r(49),l=r(51),h=r(15),c=r(76);e.f=a&&!i?Object.defineProperties:function(t,e){l(t);for(var r,a=h(e),i=c(e),s=i.length,n=0;n{var a=r(63),i=r(70);t.exports=Object.keys||function(t){return a(t,i)}},(t,e,r)=>{r=r(28);t.exports=r("document","documentElement")},(t,e,r)=>{var a=r(7),i=r(17);t.exports=function(t,e){return i(a[t].prototype[e])}},(t,e,r)=>{r(80)},(t,e,r)=>{"use strict";var a=r(81),i=r(68),s=r(66),n=a.aTypedArray;(0,a.exportTypedArrayMethod)("at",function(t){var e=n(this),r=i(e),t=s(t),t=0<=t?t:r+t;return t<0||r<=t?void 0:e[t]})},(t,e,r)=>{"use strict";function a(t){var e,t=y(t);if(u(t))return(e=E(t))&&p(e,R)?e[R]:a(t)}function i(t){return!!u(t)&&(t=f(t),p(D,t)||p(I,t))}var s,n,o,l=r(82),h=r(9),c=r(7),d=r(25),u=r(24),p=r(43),f=r(83),g=r(36),m=r(48),v=r(52),b=r(49).f,_=r(29),y=r(85),A=r(87),S=r(38),w=r(45),r=r(56),x=r.enforce,E=r.get,r=c.Int8Array,C=r&&r.prototype,k=c.Uint8ClampedArray,k=k&&k.prototype,P=r&&y(r),T=C&&y(C),r=Object.prototype,M=c.TypeError,S=S("toStringTag"),F=w("TYPED_ARRAY_TAG"),R="TypedArrayConstructor",O=l&&!!A&&"Opera"!==f(c.opera),w=!1,D={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},I={BigInt64Array:8,BigUint64Array:8};for(s in D)(o=(n=c[s])&&n.prototype)?x(o)[R]=n:O=!1;for(s in I)(o=(n=c[s])&&n.prototype)&&(x(o)[R]=n);if((!O||!d(P)||P===Function.prototype)&&(P=function(){throw M("Incorrect invocation")},O))for(s in D)c[s]&&A(c[s],P);if((!O||!T||T===r)&&(T=P.prototype,O))for(s in D)c[s]&&A(c[s].prototype,T);if(O&&y(k)!==T&&A(k,T),h&&!p(T,S))for(s in w=!0,b(T,S,{get:function(){return u(this)?this[F]:void 0}}),D)c[s]&&m(c[s],F,s);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:w&&F,aTypedArray:function(t){if(i(t))return t;throw M("Target is not a typed array")},aTypedArrayConstructor:function(t){if(!d(t)||A&&!_(P,t))throw M(g(t)+" is not a typed array constructor");return t},exportTypedArrayMethod:function(e,r,t,a){if(h){if(t)for(var i in D){i=c[i];if(i&&p(i.prototype,e))try{delete i.prototype[e]}catch(t){try{i.prototype[e]=r}catch(t){}}}T[e]&&!t||v(T,e,!t&&O&&C[e]||r,a)}},exportTypedArrayStaticMethod:function(t,e,r){var a,i;if(h){if(A){if(r)for(a in D)if((i=c[a])&&p(i,t))try{delete i[t]}catch(t){}if(P[t]&&!r)return;try{return v(P,t,!r&&O&&P[t]||e)}catch(t){}}for(a in D)!(i=c[a])||i[t]&&!r||v(i,t,e)}},getTypedArrayConstructor:a,isView:function(t){return!!u(t)&&("DataView"===(t=f(t))||p(D,t)||p(I,t))},isTypedArray:i,TypedArray:P,TypedArrayPrototype:T}},t=>{t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},(t,e,r)=>{var a=r(84),i=r(25),s=r(18),n=r(38)("toStringTag"),o=Object,l="Arguments"==s(function(){return arguments}());t.exports=a?s:function(t){var e;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,e){try{return t[e]}catch(t){}}(t=o(t),n))?e:l?s(t):"Object"==(e=s(t))&&i(t.callee)?"Arguments":e}},(t,e,r)=>{var a={};a[r(38)("toStringTag")]="z",t.exports="[object z]"===String(a)},(t,e,r)=>{var a=r(43),i=r(25),s=r(44),n=r(58),r=r(86),o=n("IE_PROTO"),l=Object,h=l.prototype;t.exports=r?l.getPrototypeOf:function(t){var e,t=s(t);return a(t,o)?t[o]:(e=t.constructor,i(e)&&t instanceof e?e.prototype:t instanceof l?h:null)}},(t,e,r)=>{r=r(10);t.exports=!r(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})},(t,e,r)=>{var i=r(17),s=r(51),n=r(88);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r,a=!1,t={};try{(r=i(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(t,[]),a=t instanceof Array}catch(t){}return function(t,e){return s(t),n(e),a?r(t,e):t.__proto__=e,t}}():void 0)},(t,e,r)=>{var a=r(25),i=String,s=TypeError;t.exports=function(t){if("object"==typeof t||a(t))return t;throw s("Can't set "+i(t)+" as a prototype")}},(t,e,r)=>{r(90),r(97),r(99),r(121),r(123);r=r(132);t.exports=r.structuredClone},(t,e,r)=>{"use strict";var a=r(15),i=r(73),s=r(91),n=r(56),o=r(49).f,l=r(92),h=r(96),c=r(40),r=r(9),d="Array Iterator",u=n.set,p=n.getterFor(d),n=(t.exports=l(Array,"Array",function(t,e){u(this,{type:d,target:a(t),index:0,kind:e})},function(){var t=p(this),e=t.target,r=t.kind,a=t.index++;return!e||a>=e.length?(t.target=void 0,h(void 0,!0)):h("keys"==r?a:"values"==r?e[a]:[a,e[a]],!1)},"values"),s.Arguments=s.Array);if(i("keys"),i("values"),i("entries"),!c&&r&&"values"!==n.name)try{o(n,"name",{value:"values"})}catch(t){}},t=>{t.exports={}},(t,e,r)=>{"use strict";function g(){return this}var m=r(6),v=r(11),b=r(40),a=r(54),_=r(25),y=r(93),A=r(85),S=r(87),w=r(95),x=r(48),E=r(52),i=r(38),C=r(91),r=r(94),k=a.PROPER,P=a.CONFIGURABLE,T=r.IteratorPrototype,M=r.BUGGY_SAFARI_ITERATORS,F=i("iterator"),R="values",O="entries";t.exports=function(t,e,r,a,i,s,n){y(r,e,a);function o(t){if(t===i&&p)return p;if(!M&&t in d)return d[t];switch(t){case"keys":case R:case O:return function(){return new r(this,t)}}return function(){return new r(this)}}var l,h,a=e+" Iterator",c=!1,d=t.prototype,u=d[F]||d["@@iterator"]||i&&d[i],p=!M&&u||o(i),f="Array"==e&&d.entries||u;if(f&&(f=A(f.call(new t)))!==Object.prototype&&f.next&&(b||A(f)===T||(S?S(f,T):_(f[F])||E(f,F,g)),w(f,a,!0,!0),b)&&(C[a]=g),k&&i==R&&u&&u.name!==R&&(!b&&P?x(d,"name",R):(c=!0,p=function(){return v(u,this)})),i)if(l={values:o(R),keys:s?p:o("keys"),entries:o(O)},n)for(h in l)!M&&!c&&h in d||E(d,h,l[h]);else m({target:e,proto:!0,forced:M||c},l);return b&&!n||d[F]===p||E(d,F,p,{name:i}),C[e]=p,l}},(t,e,r)=>{"use strict";function i(){return this}var s=r(94).IteratorPrototype,n=r(74),o=r(14),l=r(95),h=r(91);t.exports=function(t,e,r,a){e+=" Iterator";return t.prototype=n(s,{next:o(+!a,r)}),l(t,e,!1,!0),h[e]=i,t}},(t,e,r)=>{"use strict";var a,i,s=r(10),n=r(25),o=r(24),l=r(74),h=r(85),c=r(52),d=r(38),r=r(40),u=d("iterator"),d=!1;[].keys&&("next"in(i=[].keys())?(h=h(h(i)))!==Object.prototype&&(a=h):d=!0),!o(a)||s(function(){var t={};return a[u].call(t)!==t})?a={}:r&&(a=l(a)),n(a[u])||c(a,u,function(){return this}),t.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:d}},(t,e,r)=>{var a=r(49).f,i=r(43),s=r(38)("toStringTag");t.exports=function(t,e,r){(t=t&&!r?t.prototype:t)&&!i(t,s)&&a(t,s,{configurable:!0,value:e})}},t=>{t.exports=function(t,e){return{value:t,done:e}}},(t,e,r)=>{var a=r(84),i=r(52),r=r(98);a||i(Object.prototype,"toString",r,{unsafe:!0})},(t,e,r)=>{"use strict";var a=r(84),i=r(83);t.exports=a?{}.toString:function(){return"[object "+i(this)+"]"}},(t,e,r)=>{r(100)},(t,e,r)=>{"use strict";r(101)("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},r(118))},(t,e,r)=>{"use strict";var m=r(6),v=r(7),b=r(17),_=r(72),y=r(52),A=r(102),S=r(109),w=r(115),x=r(25),E=r(21),C=r(24),k=r(10),P=r(116),T=r(95),M=r(117);t.exports=function(t,e,r){function a(t){var r=b(p[t]);y(p,t,"add"==t?function(t){return r(this,0===t?0:t),this}:"delete"==t?function(t){return!(c&&!C(t))&&r(this,0===t?0:t)}:"get"==t?function(t){return c&&!C(t)?void 0:r(this,0===t?0:t)}:"has"==t?function(t){return!(c&&!C(t))&&r(this,0===t?0:t)}:function(t,e){return r(this,0===t?0:t,e),this})}var i,s,n,o,l,h=-1!==t.indexOf("Map"),c=-1!==t.indexOf("Weak"),d=h?"set":"add",u=v[t],p=u&&u.prototype,f=u,g={};return _(t,!x(u)||!(c||p.forEach&&!k(function(){(new u).entries().next()})))?(f=r.getConstructor(e,t,h,d),A.enable()):_(t,!0)&&(s=(i=new f)[d](c?{}:-0,1)!=i,n=k(function(){i.has(1)}),o=P(function(t){new u(t)}),l=!c&&k(function(){for(var t=new u,e=5;e--;)t[d](e,e);return!t.has(-0)}),o||(((f=e(function(t,e){w(t,p);t=M(new u,t,f);return E(e)||S(e,t[d],{that:t,AS_ENTRIES:h}),t})).prototype=p).constructor=f),(n||l)&&(a("delete"),a("has"),h)&&a("get"),(l||s)&&a(d),c)&&p.clear&&delete p.clear,m({global:!0,constructor:!0,forced:(g[t]=f)!=u},g),T(f,t),c||r.setStrong(f,t,h),f}},(t,e,r)=>{function a(t){h(t,m,{value:{objectID:"O"+v++,weakData:{}}})}var n=r(6),o=r(17),i=r(59),s=r(24),l=r(43),h=r(49).f,c=r(62),d=r(103),u=r(106),p=r(45),f=r(108),g=!1,m=p("meta"),v=0,b=t.exports={enable:function(){b.enable=function(){},g=!0;var i=c.f,s=o([].splice),t={};t[m]=1,i(t).length&&(c.f=function(t){for(var e=i(t),r=0,a=e.length;r{var a=r(18),i=r(15),s=r(62).f,n=r(104),o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){if(!o||"Window"!=a(t))return s(i(t));try{return s(t)}catch(t){return n(o)}}},(t,e,r)=>{var l=r(65),h=r(68),c=r(105),d=Array,u=Math.max;t.exports=function(t,e,r){for(var a=h(t),i=l(e,a),s=l(void 0===r?a:r,a),n=d(u(s-i,0)),o=0;i{"use strict";var a=r(22),i=r(49),s=r(14);t.exports=function(t,e,r){e=a(e);e in t?i.f(t,e,s(0,r)):t[e]=r}},(t,e,r)=>{var a=r(10),i=r(24),s=r(18),n=r(107),o=Object.isExtensible,r=a(function(){o(1)});t.exports=r||n?function(t){return!(!i(t)||n&&"ArrayBuffer"==s(t))&&(!o||o(t))}:o},(t,e,r)=>{r=r(10);t.exports=r(function(){var t;"function"==typeof ArrayBuffer&&(t=new ArrayBuffer(8),Object.isExtensible(t))&&Object.defineProperty(t,"a",{value:8})})},(t,e,r)=>{r=r(10);t.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},(t,e,r)=>{function v(t,e){this.stopped=t,this.result=e}var b=r(110),_=r(11),y=r(51),A=r(36),S=r(111),w=r(68),x=r(29),E=r(112),C=r(113),k=r(114),P=TypeError,T=v.prototype;t.exports=function(t,e,r){function a(t){return s&&k(s,"normal",t),new v(!0,t)}function i(t){return u?(y(t),g?m(t[0],t[1],a):m(t[0],t[1])):g?m(t,a):m(t)}var s,n,o,l,h,c,d=r&&r.that,u=!(!r||!r.AS_ENTRIES),p=!(!r||!r.IS_RECORD),f=!(!r||!r.IS_ITERATOR),g=!(!r||!r.INTERRUPTED),m=b(e,d);if(p)s=t.iterator;else if(f)s=t;else{if(!(r=C(t)))throw P(A(t)+" is not iterable");if(S(r)){for(n=0,o=w(t);n{var a=r(17),i=r(35),s=r(12),n=a(a.bind);t.exports=function(t,e){return i(t),void 0===e?t:s?n(t,e):function(){return t.apply(e,arguments)}}},(t,e,r)=>{var a=r(38),i=r(91),s=a("iterator"),n=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||n[s]===t)}},(t,e,r)=>{var a=r(11),i=r(35),s=r(51),n=r(36),o=r(113),l=TypeError;t.exports=function(t,e){var r=arguments.length<2?o(t):e;if(i(r))return s(a(r,t));throw l(n(t)+" is not iterable")}},(t,e,r)=>{var a=r(83),i=r(34),s=r(21),n=r(91),o=r(38)("iterator");t.exports=function(t){if(!s(t))return i(t,o)||i(t,"@@iterator")||n[a(t)]}},(t,e,r)=>{var s=r(11),n=r(51),o=r(34);t.exports=function(t,e,r){var a,i;n(t);try{if(!(a=o(t,"return"))){if("throw"===e)throw r;return r}a=s(a,t)}catch(t){i=!0,a=t}if("throw"===e)throw r;if(i)throw a;return n(a),r}},(t,e,r)=>{var a=r(29),i=TypeError;t.exports=function(t,e){if(a(e,t))return t;throw i("Incorrect invocation")}},(t,e,r)=>{var i=r(38)("iterator"),s=!1;try{var a=0,n={next:function(){return{done:!!a++}},return:function(){s=!0}};n[i]=function(){return this},Array.from(n,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!s)return!1;var r=!1;try{var a={};a[i]=function(){return{next:function(){return{done:r=!0}}}},t(a)}catch(t){}return r}},(t,e,r)=>{var a=r(25),i=r(24),s=r(87);t.exports=function(t,e,r){return s&&a(e=e.constructor)&&e!==r&&i(e=e.prototype)&&e!==r.prototype&&s(t,e),t}},(t,e,r)=>{"use strict";var h=r(49).f,c=r(74),d=r(119),u=r(110),p=r(115),f=r(21),g=r(109),n=r(92),o=r(96),l=r(120),m=r(9),v=r(102).fastKey,r=r(56),b=r.set,_=r.getterFor;t.exports={getConstructor:function(t,r,a,i){function s(t,e,r){var a,i=l(t),s=n(t,e);return s?s.value=r:(i.last=s={index:a=v(e,!0),key:e,value:r,previous:e=i.last,next:void 0,removed:!1},i.first||(i.first=s),e&&(e.next=s),m?i.size++:t.size++,"F"!==a&&(i.index[a]=s)),t}function n(t,e){var r,t=l(t),a=v(e);if("F"!==a)return t.index[a];for(r=t.first;r;r=r.next)if(r.key==e)return r}var t=t(function(t,e){p(t,o),b(t,{type:r,index:c(null),first:void 0,last:void 0,size:0}),m||(t.size=0),f(e)||g(e,t[i],{that:t,AS_ENTRIES:a})}),o=t.prototype,l=_(r);return d(o,{clear:function(){for(var t=l(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,m?t.size=0:this.size=0},delete:function(t){var e,r,a=l(this),t=n(this,t);return t&&(e=t.next,r=t.previous,delete a.index[t.index],t.removed=!0,r&&(r.next=e),e&&(e.previous=r),a.first==t&&(a.first=e),a.last==t&&(a.last=r),m?a.size--:this.size--),!!t},forEach:function(t){for(var e,r=l(this),a=u(t,1{var i=r(52);t.exports=function(t,e,r){for(var a in e)i(t,a,e[a],r);return t}},(t,e,r)=>{"use strict";var a=r(28),i=r(49),s=r(38),n=r(9),o=s("species");t.exports=function(t){var t=a(t),e=i.f;n&&t&&!t[o]&&e(t,o,{configurable:!0,get:function(){return this}})}},(t,e,r)=>{r(122)},(t,e,r)=>{"use strict";r(101)("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},r(118))},(d,u,t)=>{function e(a){return!o(function(){var t=new v.Set([7]),e=a(t),r=a(x(7));return e==t||!e.has(7)||"object"!=typeof r||7!=r})&&a}function r(r,a){return!o(function(){var t=new a,e=r({a:t,b:t});return!(e&&e.a===e.b&&e.a instanceof a&&e.a.stack===t.stack)})}function f(t){throw new P("Uncloneable type: "+t,O)}function g(t,e){throw new P((e||"Cloning")+" of "+t+" cannot be properly polyfilled in this engine",O)}function m(e,r){if(W(e)&&f("Symbol"),!y(e))return e;if(r){if(F(r,e))return st(r,e)}else r=new M;var t,a,i,s,n,o,l,h,c,d,u=A(e),p=!1;switch(u){case"Array":i=[],p=!0;break;case"Object":i={},p=!0;break;case"Map":i=new M,p=!0;break;case"Set":i=new T,p=!0;break;case"RegExp":i=new RegExp(e.source,z(e));break;case"Error":switch(a=e.name){case"AggregateError":i=b("AggregateError")([]);break;case"EvalError":i=J();break;case"RangeError":i=$();break;case"ReferenceError":i=Q();break;case"SyntaxError":i=Z();break;case"TypeError":i=k();break;case"URIError":i=tt();break;case"CompileError":i=rt();break;case"LinkError":i=at();break;case"RuntimeError":i=it();break;default:i=C()}p=!0;break;case"DOMException":i=new P(e.message,e.name),p=!0;break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":t=v[u],y(t)||g(u),i=new t(m(e.buffer,r),e.byteOffset,"DataView"===u?e.byteLength:e.length);break;case"DOMQuad":try{i=new DOMQuad(m(e.p1,r),m(e.p2,r),m(e.p3,r),m(e.p4,r))}catch(t){L?i=L(e):g(u)}break;case"FileList":if(s=function(){var e;try{e=new v.DataTransfer}catch(t){try{e=new v.ClipboardEvent("").clipboardData}catch(t){}}return e&&e.items&&e.files?e:null}()){for(n=0,o=w(e);n{function a(){}function i(t){if(!l(t))return!1;try{return p(a,u,t),!0}catch(t){return!1}}function s(t){if(!l(t))return!1;switch(h(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return m||!!g(f,d(t))}catch(t){return!0}}var n=r(17),o=r(10),l=r(25),h=r(83),c=r(28),d=r(55),u=[],p=c("Reflect","construct"),f=/^\s*(?:class|function)\b/,g=n(f.exec),m=!f.exec(a);s.sham=!0,t.exports=!p||o(function(){var t;return i(i.call)||!i(Object)||!i(function(){t=!0})||t})?s:i},t=>{var r=TypeError;t.exports=function(t,e){if(t{var a=r(11),i=r(43),s=r(29),n=r(127),o=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||"flags"in o||i(t,"flags")||!s(o,t)?e:a(n,t)}},(t,e,r)=>{"use strict";var a=r(51);t.exports=function(){var t=a(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e}},(t,e,r)=>{var a=r(10),i=r(14);t.exports=!a(function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",i(1,7)),7!==t.stack)})},(t,e,r)=>{var a=r(130),r=r(131);t.exports=!a&&!r&&"object"==typeof window&&"object"==typeof document},t=>{t.exports="object"==typeof Deno&&Deno&&"object"==typeof Deno.version},(t,e,r)=>{var a=r(18),r=r(7);t.exports="process"==a(r.process)},(t,e,r)=>{r=r(7);t.exports=r},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.build=exports.RenderTask=exports.PDFWorkerUtil=exports.PDFWorker=exports.PDFPageProxy=exports.PDFDocumentProxy=exports.PDFDocumentLoadingTask=exports.PDFDataRangeTransport=exports.LoopbackPort=exports.DefaultStandardFontDataFactory=exports.DefaultCanvasFactory=exports.DefaultCMapReaderFactory=void 0,exports.getDocument=getDocument,exports.setPDFNetworkStreamFactory=setPDFNetworkStreamFactory,exports.version=void 0;var _util=__w_pdfjs_require__(1),_annotation_storage=__w_pdfjs_require__(134),_display_utils=__w_pdfjs_require__(137),_font_loader=__w_pdfjs_require__(140),_canvas=__w_pdfjs_require__(141),_worker_options=__w_pdfjs_require__(144),_is_node=__w_pdfjs_require__(3),_message_handler=__w_pdfjs_require__(145),_metadata=__w_pdfjs_require__(146),_optional_content_config=__w_pdfjs_require__(147),_transport_stream=__w_pdfjs_require__(148),_xfa_text=__w_pdfjs_require__(149);function _classPrivateMethodInitSpec(t,e){_checkPrivateRedeclaration(t,e),e.add(t)}function _classPrivateMethodGet(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function _classPrivateFieldSet(t,e,r){return _classApplyDescriptorSet(t,_classExtractFieldDescriptor(t,e,"set"),r),r}function _classPrivateFieldInitSpec(t,e,r){_checkPrivateRedeclaration(t,e),e.set(t,r)}function _checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldGet(t,e){return _classApplyDescriptorGet(t,_classExtractFieldDescriptor(t,e,"get"))}function _classExtractFieldDescriptor(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}function _classStaticPrivateFieldSpecSet(t,e,r,a){_classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,"set"),_classApplyDescriptorSet(t,r,a)}function _classApplyDescriptorSet(t,e,r){if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function _classStaticPrivateFieldSpecGet(t,e,r){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,"get"),_classApplyDescriptorGet(t,r)}function _classCheckPrivateStaticFieldDescriptor(t,e){if(void 0===t)throw new TypeError("attempted to "+e+" private static field before its declaration")}function _classCheckPrivateStaticAccess(t,e){if(t!==e)throw new TypeError("Private static access of wrong provenance")}function _classApplyDescriptorGet(t,e){return e.get?e.get.call(t):e.value}const DEFAULT_RANGE_CHUNK_SIZE=65536,RENDERING_CANCELLED_TIMEOUT=100;let DefaultCanvasFactory=_display_utils.DOMCanvasFactory,DefaultCMapReaderFactory=(exports.DefaultCanvasFactory=DefaultCanvasFactory,_display_utils.DOMCMapReaderFactory),DefaultStandardFontDataFactory=(exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory,_display_utils.DOMStandardFontDataFactory);if(exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory,_is_node.isNodeJS){const{NodeCanvasFactory,NodeCMapReaderFactory,NodeStandardFontDataFactory}=__w_pdfjs_require__(150);exports.DefaultCanvasFactory=DefaultCanvasFactory=NodeCanvasFactory,exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory=NodeCMapReaderFactory,exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory=NodeStandardFontDataFactory}let createPDFNetworkStream;function setPDFNetworkStreamFactory(t){createPDFNetworkStream=t}function getDocument(t){const r=new PDFDocumentLoadingTask;let e;if("string"==typeof t||t instanceof URL)e={url:t};else if((0,_util.isArrayBuffer)(t))e={data:t};else if(t instanceof PDFDataRangeTransport)e={range:t};else{if("object"!=typeof t)throw new Error("Invalid parameter in getDocument, need either string, URL, TypedArray, or parameter object.");if(!t.url&&!t.data&&!t.range)throw new Error("Invalid parameter object: need either .data, .range or .url");e=t}const a=Object.create(null);let i=null,s=null;for(const l in e){var n=e[l];switch(l){case"url":if("undefined"!=typeof window)try{a[l]=new URL(n,window.location).href;continue}catch(t){(0,_util.warn)(`Cannot create valid URL: "${t}".`)}else if("string"==typeof n||n instanceof URL){a[l]=n.toString();continue}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.");case"range":i=n;continue;case"worker":s=n;continue;case"data":if(_is_node.isNodeJS&&"undefined"!=typeof Buffer&&n instanceof Buffer)a[l]=new Uint8Array(n);else{if(n instanceof Uint8Array)break;if("string"==typeof n)a[l]=(0,_util.stringToBytes)(n);else{if(("object"!=typeof n||null===n||isNaN(n.length))&&!(0,_util.isArrayBuffer)(n))throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.");a[l]=new Uint8Array(n)}}continue}a[l]=n}a.CMapReaderFactory=a.CMapReaderFactory||DefaultCMapReaderFactory,a.StandardFontDataFactory=a.StandardFontDataFactory||DefaultStandardFontDataFactory,a.ignoreErrors=!0!==a.stopAtErrors,a.fontExtraProperties=!0===a.fontExtraProperties,a.pdfBug=!0===a.pdfBug,a.enableXfa=!0===a.enableXfa,(!Number.isInteger(a.rangeChunkSize)||a.rangeChunkSize<1)&&(a.rangeChunkSize=DEFAULT_RANGE_CHUNK_SIZE),"string"==typeof a.docBaseUrl&&!(0,_display_utils.isDataScheme)(a.docBaseUrl)||(a.docBaseUrl=null),(!Number.isInteger(a.maxImageSize)||a.maxImageSize<-1)&&(a.maxImageSize=-1),"string"!=typeof a.cMapUrl&&(a.cMapUrl=null),"string"!=typeof a.standardFontDataUrl&&(a.standardFontDataUrl=null),"boolean"!=typeof a.useWorkerFetch&&(a.useWorkerFetch=a.CMapReaderFactory===_display_utils.DOMCMapReaderFactory&&a.StandardFontDataFactory===_display_utils.DOMStandardFontDataFactory),"boolean"!=typeof a.isEvalSupported&&(a.isEvalSupported=!0),"boolean"!=typeof a.isOffscreenCanvasSupported&&(a.isOffscreenCanvasSupported=!_is_node.isNodeJS),"boolean"!=typeof a.disableFontFace&&(a.disableFontFace=_is_node.isNodeJS),"boolean"!=typeof a.useSystemFonts&&(a.useSystemFonts=!_is_node.isNodeJS&&!a.disableFontFace),"object"==typeof a.ownerDocument&&null!==a.ownerDocument||(a.ownerDocument=globalThis.document),"boolean"!=typeof a.disableRange&&(a.disableRange=!1),"boolean"!=typeof a.disableStream&&(a.disableStream=!1),"boolean"!=typeof a.disableAutoFetch&&(a.disableAutoFetch=!1),(0,_util.setVerbosityLevel)(a.verbosity),s||(t={verbosity:a.verbosity,port:_worker_options.GlobalWorkerOptions.workerPort},s=t.port?PDFWorker.fromPort(t):new PDFWorker(t),r._worker=s);const o=r.docId;return s.promise.then(function(){if(r.destroyed)throw new Error("Loading aborted");var t=_fetchDocument(s,a,i,o),e=new Promise(function(t){let e;i?e=new _transport_stream.PDFDataTransportStream({length:a.length,initialData:a.initialData,progressiveDone:a.progressiveDone,contentDispositionFilename:a.contentDispositionFilename,disableRange:a.disableRange,disableStream:a.disableStream},i):a.data||(e=createPDFNetworkStream({url:a.url,length:a.length,httpHeaders:a.httpHeaders,withCredentials:a.withCredentials,rangeChunkSize:a.rangeChunkSize,disableRange:a.disableRange,disableStream:a.disableStream})),t(e)});return Promise.all([t,e]).then(function(t){var[t,e]=t;if(r.destroyed)throw new Error("Loading aborted");t=new _message_handler.MessageHandler(o,t,s.port),e=new WorkerTransport(t,r,e,a);r._transport=e,t.send("Ready",null)})}).catch(r._capability.reject),r}async function _fetchDocument(t,e,r,a){if(t.destroyed)throw new Error("Worker was destroyed");r&&(e.length=r.length,e.initialData=r.initialData,e.progressiveDone=r.progressiveDone,e.contentDispositionFilename=r.contentDispositionFilename);r=await t.messageHandler.sendWithPromise("GetDocRequest",{docId:a,apiVersion:"3.0.279",data:e.data,password:e.password,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize,length:e.length,docBaseUrl:e.docBaseUrl,enableXfa:e.enableXfa,evaluatorOptions:{maxImageSize:e.maxImageSize,disableFontFace:e.disableFontFace,ignoreErrors:e.ignoreErrors,isEvalSupported:e.isEvalSupported,isOffscreenCanvasSupported:e.isOffscreenCanvasSupported,fontExtraProperties:e.fontExtraProperties,useSystemFonts:e.useSystemFonts,cMapUrl:e.useWorkerFetch?e.cMapUrl:null,standardFontDataUrl:e.useWorkerFetch?e.standardFontDataUrl:null}});if(e.data&&(e.data=null),t.destroyed)throw new Error("Worker was destroyed");return r}class PDFDocumentLoadingTask{constructor(){var t,e;this._capability=(0,_util.createPromiseCapability)(),this._transport=null,this._worker=null,this.docId="d"+(_classStaticPrivateFieldSpecSet(PDFDocumentLoadingTask,PDFDocumentLoadingTask,_docId,(t=_classStaticPrivateFieldSpecGet(PDFDocumentLoadingTask,PDFDocumentLoadingTask,_docId),e=t++,t)),e),this.destroyed=!1,this.onPassword=null,this.onProgress=null,this.onUnsupportedFeature=null}get promise(){return this._capability.promise}async destroy(){var t;this.destroyed=!0,await(null==(t=this._transport)?void 0:t.destroy()),this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}}exports.PDFDocumentLoadingTask=PDFDocumentLoadingTask;var _docId={writable:!0,value:0};class PDFDataRangeTransport{constructor(t,e){var r=2{for(const t of this._progressListeners)t(e,r)})}onDataProgressiveRead(e){this._readyCapability.promise.then(()=>{for(const t of this._progressiveReadListeners)t(e)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const t of this._progressiveDoneListeners)t()})}transportReady(){this._readyCapability.resolve()}requestDataRange(t,e){(0,_util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}exports.PDFDataRangeTransport=PDFDataRangeTransport;class PDFDocumentProxy{constructor(t,e){this._pdfInfo=t,this._transport=e}get annotationStorage(){return this._transport.annotationStorage}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get stats(){return this._transport.stats}get isPureXfa(){return!!this._transport._htmlForXfa}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJavaScript(){return this._transport.getJavaScript()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig(){return this._transport.getOptionalContentConfig()}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(){return this._transport.startCleanup(0{u.renderTasks.delete(v),(this.cleanupAfterRender||g)&&(this.pendingCleanup=!0),this._tryCleanup(),t?(v.capability.reject(t),this._abortOperatorList({intentState:u,reason:t instanceof Error?t:new Error(t)})):v.capability.resolve(),null!=(t=this._stats)&&t.timeEnd("Rendering"),null!=(t=this._stats)&&t.timeEnd("Overall")}),v=new InternalRenderTask({callback:m,params:{canvasContext:e,viewport:r,transform:s,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:h,operatorList:u.operatorList,pageIndex:this._pageIndex,canvasFactory:f,useRequestAnimationFrame:!g,pdfBug:this._pdfBug,pageColors:c});((p=u).renderTasks||(p.renderTasks=new Set)).add(v);t=v.task;return Promise.all([u.displayReadyCapability.promise,l]).then(t=>{var e,[t,r]=t;this.pendingCleanup?m():(null!=(e=this._stats)&&e.time("Rendering"),v.initializeGraphics({transparency:t,optionalContentConfig:r}),v.operatorListChanged())}).catch(m),t}getOperatorList(){var{intent:t="display",annotationMode:e=_util.AnnotationMode.ENABLE,printAnnotationStorage:r=null}=0_xfa_text.XfaText.textContent(t));const r=this.streamTextContent(t);return new Promise(function(a,t){const e=r.getReader(),i={items:[],styles:Object.create(null)};!function r(){e.read().then(function(t){var{value:t,done:e}=t;e?a(i):(Object.assign(i.styles,t.styles),i.items.push(...t.items),r())},t)}()})}getStructTree(){return this._structTreePromise||(this._structTreePromise=this._transport.getStructTree(this._pageIndex))}_destroy(){this.destroyed=!0;var t=[];for(const e of this._intentStates.values())if(this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0}),!e.opListReadCapability)for(const r of e.renderTasks)t.push(r.completed),r.cancel();this.objs.clear();for(const a of this._bitmaps)a.close();return this._bitmaps.clear(),this._annotationPromises.clear(),this._jsActionsPromise=null,this._structTreePromise=null,this.pendingCleanup=!1,Promise.all(t)}cleanup(){var t=0{a.read().then(t=>{var{value:t,done:e}=t;e?i.streamReader=null:this._transport.destroyed||(this._renderPageChunk(t,i),s())},t=>{if(i.streamReader=null,!this._transport.destroyed){if(i.operatorList){i.operatorList.lastChunk=!0;for(const e of i.renderTasks)e.operatorListChanged();this._tryCleanup()}if(i.displayReadyCapability)i.displayReadyCapability.reject(t);else{if(!i.opListReadCapability)throw t;i.opListReadCapability.reject(t)}}})});s()}_abortOperatorList(t){let{intentState:e,reason:r,force:a=!1}=t;if(e.streamReader){if(!a){if(0{this._abortOperatorList({intentState:e,reason:r,force:!0}),e.streamReaderCancelTimeout=null},RENDERING_CANCELLED_TIMEOUT))}if(e.streamReader.cancel(new _util.AbortException(r.message)).catch(()=>{}),e.streamReader=null,!this._transport.destroyed){for(var[i,s]of this._intentStates)if(s===e){this._intentStates.delete(i);break}this.cleanup()}}}get stats(){return this._stats}}exports.PDFPageProxy=PDFPageProxy;var _listeners=new WeakMap,_deferred=new WeakMap,_document,_document$currentScri;class LoopbackPort{constructor(){_classPrivateFieldInitSpec(this,_listeners,{writable:!0,value:[]}),_classPrivateFieldInitSpec(this,_deferred,{writable:!0,value:Promise.resolve()})}postMessage(t,e){const r={data:structuredClone(t,e)};_classPrivateFieldGet(this,_deferred).then(()=>{for(const t of _classPrivateFieldGet(this,_listeners))t.call(this,r)})}addEventListener(t,e){_classPrivateFieldGet(this,_listeners).push(e)}removeEventListener(t,e){e=_classPrivateFieldGet(this,_listeners).indexOf(e);_classPrivateFieldGet(this,_listeners).splice(e,1)}terminate(){_classPrivateFieldGet(this,_listeners).length=0}}exports.LoopbackPort=LoopbackPort;const PDFWorkerUtil={isWorkerDisabled:!1,fallbackWorkerSrc:null,fakeWorkerId:0};if(exports.PDFWorkerUtil=PDFWorkerUtil,_is_node.isNodeJS&&"function"==typeof require)PDFWorkerUtil.isWorkerDisabled=!0,PDFWorkerUtil.fallbackWorkerSrc="./pdf.worker.js";else if("object"==typeof document){const pdfjsFilePath=null==(_document=document)||null==(_document$currentScri=_document.currentScript)?void 0:_document$currentScri.src;pdfjsFilePath&&(PDFWorkerUtil.fallbackWorkerSrc=pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i,".worker$1$2"))}PDFWorkerUtil.isSameOrigin=function(t,e){let r;try{if(!(r=new URL(t)).origin||"null"===r.origin)return!1}catch(t){return!1}t=new URL(e,r);return r.origin===t.origin},PDFWorkerUtil.createCDNWrapper=function(t){return URL.createObjectURL(new Blob([`importScripts("${t}");`]))};class PDFWorker{constructor(){var{name:t=null,port:e=null,verbosity:r=(0,_util.getVerbosityLevel)()}=0{e.removeEventListener("error",i),r.destroy(),e.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},i=()=>{this._webWorker||a()},s=(e.addEventListener("error",i),r.on("test",t=>{e.removeEventListener("error",i),this.destroyed?a():t?(this._messageHandler=r,this._port=e,this._webWorker=e,this._readyCapability.resolve(),r.send("configure",{verbosity:this.verbosity})):(this._setupFakeWorker(),r.destroy(),e.terminate())}),r.on("ready",t=>{if(e.removeEventListener("error",i),this.destroyed)a();else try{s()}catch(t){this._setupFakeWorker()}}),()=>{var t=new Uint8Array;r.send("test",t,[t.buffer])});return void s()}catch(t){(0,_util.info)("The worker has been disabled.")}}this._setupFakeWorker()}_setupFakeWorker(){PDFWorkerUtil.isWorkerDisabled||((0,_util.warn)("Setting up fake worker."),PDFWorkerUtil.isWorkerDisabled=!0),PDFWorker._setupFakeWorkerGlobal.then(t=>{var e,r,a;this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):(e=new LoopbackPort,this._port=e,r="fake"+PDFWorkerUtil.fakeWorkerId++,a=new _message_handler.MessageHandler(r+"_worker",r,e),t.setup(a,e),t=new _message_handler.MessageHandler(r,r+"_worker",e),this._messageHandler=t,this._readyCapability.resolve(),t.send("configure",{verbosity:this.verbosity}))}).catch(t=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${t.message}".`))})}destroy(){this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),_classStaticPrivateFieldSpecGet(PDFWorker,PDFWorker,_workerPorts).delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(t){if(null!=t&&t.port)return _classStaticPrivateFieldSpecGet(this,PDFWorker,_workerPorts).has(t.port)?_classStaticPrivateFieldSpecGet(this,PDFWorker,_workerPorts).get(t.port):new PDFWorker(t);throw new Error("PDFWorker.fromPort - invalid method signature.")}static get workerSrc(){if(_worker_options.GlobalWorkerOptions.workerSrc)return _worker_options.GlobalWorkerOptions.workerSrc;if(null!==PDFWorkerUtil.fallbackWorkerSrc)return _is_node.isNodeJS||(0,_display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'),PDFWorkerUtil.fallbackWorkerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _mainThreadWorkerMessageHandler(){try{var t;return(null==(t=globalThis.pdfjsWorker)?void 0:t.WorkerMessageHandler)||null}catch(t){return null}}static get _setupFakeWorkerGlobal(){const loader=async()=>{const mainWorkerMessageHandler=this._mainThreadWorkerMessageHandler;if(mainWorkerMessageHandler)return mainWorkerMessageHandler;if(_is_node.isNodeJS&&"function"==typeof require){const worker=eval("require")(this.workerSrc);return worker.WorkerMessageHandler}return await(0,_display_utils.loadScript)(this.workerSrc),window.pdfjsWorker.WorkerMessageHandler};return(0,_util.shadow)(this,"_setupFakeWorkerGlobal",loader())}}exports.PDFWorker=PDFWorker;var _workerPorts={writable:!0,value:new WeakMap},_docStats=new WeakMap,_pageCache=new WeakMap,_pagePromises=new WeakMap,_metadataPromise=new WeakMap;class WorkerTransport{constructor(t,e,r,a){_classPrivateFieldInitSpec(this,_docStats,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_pageCache,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_pagePromises,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_metadataPromise,{writable:!0,value:null}),this.messageHandler=t,this.loadingTask=e,this.commonObjs=new PDFObjects,this.fontLoader=new _font_loader.FontLoader({onUnsupportedFeature:this._onUnsupportedFeature.bind(this),ownerDocument:a.ownerDocument,styleElement:a.styleElement}),(this._params=a).useWorkerFetch||(this.CMapReaderFactory=new a.CMapReaderFactory({baseUrl:a.cMapUrl,isCompressed:a.cMapPacked}),this.StandardFontDataFactory=new a.StandardFontDataFactory({baseUrl:a.standardFontDataUrl})),this.destroyed=!1,this.destroyCapability=null,this._passwordCapability=null,this._networkStream=r,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=(0,_util.createPromiseCapability)(),this.setupMessageHandler()}get annotationStorage(){return(0,_util.shadow)(this,"annotationStorage",new _annotation_storage.AnnotationStorage)}get stats(){return _classPrivateFieldGet(this,_docStats)}getRenderingIntent(t){var e=1{this.commonObjs.clear(),this.fontLoader.clear(),_classPrivateFieldSet(this,_metadataPromise,null),this._getFieldObjectsPromise=null,this._hasJSActionsPromise=null,this._networkStream&&this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject)}return this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:o,loadingTask:a}=this;o.on("GetReader",(t,r)=>{(0,_util.assert)(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=t=>{this._lastProgress={loaded:t.loaded,total:t.total}},r.onPull=()=>{this._fullReader.read().then(function(t){var{value:t,done:e}=t;e?r.close():((0,_util.assert)((0,_util.isArrayBuffer)(t),"GetReader - expected an ArrayBuffer."),r.enqueue(new Uint8Array(t),1,[t]))}).catch(t=>{r.error(t)})},r.onCancel=t=>{this._fullReader.cancel(t),r.ready.catch(t=>{if(!this.destroyed)throw t})}}),o.on("ReaderHeadersReady",t=>{const e=(0,_util.createPromiseCapability)(),r=this._fullReader;return r.headersReady.then(()=>{var t;r.isStreamingSupported&&r.isRangeSupported||(this._lastProgress&&null!=(t=a.onProgress)&&t.call(a,this._lastProgress),r.onProgress=t=>{var e;null!=(e=a.onProgress)&&e.call(a,{loaded:t.loaded,total:t.total})}),e.resolve({isStreamingSupported:r.isStreamingSupported,isRangeSupported:r.isRangeSupported,contentLength:r.contentLength})},e.reject),e.promise}),o.on("GetRangeReader",(t,r)=>{(0,_util.assert)(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const e=this._networkStream.getRangeReader(t.begin,t.end);e?(r.onPull=()=>{e.read().then(function(t){var{value:t,done:e}=t;e?r.close():((0,_util.assert)((0,_util.isArrayBuffer)(t),"GetRangeReader - expected an ArrayBuffer."),r.enqueue(new Uint8Array(t),1,[t]))}).catch(t=>{r.error(t)})},r.onCancel=t=>{e.cancel(t),r.ready.catch(t=>{if(!this.destroyed)throw t})}):r.close()}),o.on("GetDoc",t=>{t=t.pdfInfo;this._numPages=t.numPages,this._htmlForXfa=t.htmlForXfa,delete t.htmlForXfa,a._capability.resolve(new PDFDocumentProxy(t,this))}),o.on("DocException",function(t){let e;switch(t.name){case"PasswordException":e=new _util.PasswordException(t.message,t.code);break;case"InvalidPDFException":e=new _util.InvalidPDFException(t.message);break;case"MissingPDFException":e=new _util.MissingPDFException(t.message);break;case"UnexpectedResponseException":e=new _util.UnexpectedResponseException(t.message,t.status);break;case"UnknownErrorException":e=new _util.UnknownErrorException(t.message,t.details);break;default:(0,_util.unreachable)("DocException - expected a valid Error.")}a._capability.reject(e)}),o.on("PasswordRequest",t=>{if(this._passwordCapability=(0,_util.createPromiseCapability)(),a.onPassword){var e=t=>{t instanceof Error?this._passwordCapability.reject(t):this._passwordCapability.resolve({password:t})};try{a.onPassword(e,t.code)}catch(t){this._passwordCapability.reject(t)}}else this._passwordCapability.reject(new _util.PasswordException(t.message,t.code));return this._passwordCapability.promise}),o.on("DataLoaded",t=>{var e;null!=(e=a.onProgress)&&e.call(a,{loaded:t.length,total:t.length}),this.downloadInfoCapability.resolve(t)}),o.on("StartRenderPage",t=>{this.destroyed||_classPrivateFieldGet(this,_pageCache).get(t.pageIndex)._startRenderPage(t.transparency,t.cacheKey)}),o.on("commonobj",t=>{let[e,r,a]=t;if(!this.destroyed&&!this.commonObjs.has(e))switch(r){case"Font":const s=this._params;if("error"in a){var i=a.error;(0,_util.warn)("Error during font loading: "+i),this.commonObjs.resolve(e,i)}else{let t=null;s.pdfBug&&null!=(i=globalThis.FontInspector)&&i.enabled&&(t={registerFont(t,e){globalThis.FontInspector.fontAdded(t,e)}});const n=new _font_loader.FontFaceObject(a,{isEvalSupported:s.isEvalSupported,disableFontFace:s.disableFontFace,ignoreErrors:s.ignoreErrors,onUnsupportedFeature:this._onUnsupportedFeature.bind(this),fontRegistry:t});this.fontLoader.bind(n).catch(t=>o.sendWithPromise("FontFallback",{id:e})).finally(()=>{!s.fontExtraProperties&&n.data&&(n.data=null),this.commonObjs.resolve(e,n)})}break;case"FontPath":case"Image":this.commonObjs.resolve(e,a);break;default:throw new Error("Got unknown common object type "+r)}}),o.on("obj",t=>{var[e,t,r,a]=t;if(!this.destroyed){var i=_classPrivateFieldGet(this,_pageCache).get(t);if(!i.objs.has(e))switch(r){case"Image":i.objs.resolve(e,a);var s,n,o;if(a){let t;a.bitmap?({bitmap:s,width:o,height:n}=a,t=o*n*4,i._bitmaps.add(s)):t=(null==(o=a.data)?void 0:o.length)||0,8e6{var e;this.destroyed||null!=(e=a.onProgress)&&e.call(a,{loaded:t.loaded,total:t.total})}),o.on("DocStats",t=>{this.destroyed||_classPrivateFieldSet(this,_docStats,Object.freeze({streamTypes:Object.freeze(t.streamTypes),fontTypes:Object.freeze(t.fontTypes)}))}),o.on("UnsupportedFeature",this._onUnsupportedFeature.bind(this)),o.on("FetchBuiltInCMap",t=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.CMapReaderFactory?this.CMapReaderFactory.fetch(t):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."))),o.on("FetchStandardFontData",t=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.StandardFontDataFactory?this.StandardFontDataFactory.fetch(t):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")))}_onUnsupportedFeature(t){var e,r,t=t["featureId"];this.destroyed||null!=(e=(r=this.loadingTask).onUnsupportedFeature)&&e.call(r,t)}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var t;return this.annotationStorage.size<=0&&(0,_util.warn)("saveDocument called while `annotationStorage` is empty, please use the getData-method instead."),this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:this.annotationStorage.serializable,filename:(null==(t=this._fullReader)?void 0:t.filename)??null}).finally(()=>{this.annotationStorage.resetModified()})}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(new Error("Invalid page request."));const e=t-1,r=_classPrivateFieldGet(this,_pagePromises).get(e);return r||(t=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then(t=>{if(this.destroyed)throw new Error("Transport destroyed");t=new PDFPageProxy(e,t,this,this._params.ownerDocument,this._params.pdfBug);return _classPrivateFieldGet(this,_pageCache).set(e,t),t}),_classPrivateFieldGet(this,_pagePromises).set(e,t),t)}getPageIndex(t){return"object"!=typeof t||null===t||!Number.isInteger(t.num)||t.num<0||!Number.isInteger(t.gen)||t.gen<0?Promise.reject(new Error("Invalid pageIndex request.")):this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen})}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}getFieldObjects(){return this._getFieldObjectsPromise||(this._getFieldObjectsPromise=this.messageHandler.sendWithPromise("GetFieldObjects",null))}hasJSActions(){return this._hasJSActionsPromise||(this._hasJSActionsPromise=this.messageHandler.sendWithPromise("HasJSActions",null))}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return"string"!=typeof t?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getJavaScript(){return this.messageHandler.sendWithPromise("GetJavaScript",null)}getDocJSActions(){return this.messageHandler.sendWithPromise("GetDocJSActions",null)}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(){return this.messageHandler.sendWithPromise("GetOptionalContentConfig",null).then(t=>new _optional_content_config.OptionalContentConfig(t))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){return _classPrivateFieldGet(this,_metadataPromise)||_classPrivateFieldSet(this,_metadataPromise,this.messageHandler.sendWithPromise("GetMetadata",null).then(t=>{return{info:t[0],metadata:t[1]?new _metadata.Metadata(t[1]):null,contentDispositionFilename:(null==(t=this._fullReader)?void 0:t.filename)??null,contentLength:(null==(t=this._fullReader)?void 0:t.contentLength)??null}}))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(){var t=0e(r.data)),null}const r=_classPrivateFieldGet(this,_objs)[t];if(null!==r&&void 0!==r&&r.capability.settled)return r.data;throw new Error(`Requesting object that isn't resolved yet ${t}.`)}has(t){t=_classPrivateFieldGet(this,_objs)[t];return(null==t?void 0:t.capability.settled)||!1}resolve(t){var e=1{this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk)&&(this.gfx.endDrawing(),this._canvas&&_classStaticPrivateFieldSpecGet(InternalRenderTask,InternalRenderTask,_canvasInUse).delete(this._canvas),this.callback()))}}var _canvasInUse={writable:!0,value:new WeakSet};const version="3.0.279",build=(exports.version=version,"d0823066c");exports.build=build},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PrintAnnotationStorage=e.AnnotationStorage=void 0;var a=r(1),n=r(135),i=r(139);function s(t,e,r){e=o(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function o(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}function l(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}var h=new WeakSet;class c{constructor(){var t,e;l(t=this,e=h),e.add(t),this._storage=new Map,this._modified=!1,this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(t,e){t=this._storage.get(t);return void 0===t?e:Object.assign(e,t)}getRawValue(t){return this._storage.get(t)}remove(t){if(this._storage.delete(t),0===this._storage.size&&this.resetModified(),"function"==typeof this.onAnnotationEditor){for(const e of this._storage.values())if(e instanceof n.AnnotationEditor)return;this.onAnnotationEditor(null)}}setValue(t,e){var r=this._storage.get(t);let a=!1;if(void 0!==r)for(var[i,s]of Object.entries(e))r[i]!==s&&(a=!0,r[i]=s);else a=!0,this._storage.set(t,e);a&&!function(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}(this,h,d).call(this),e instanceof n.AnnotationEditor&&"function"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(e.constructor._type)}has(t){return this._storage.has(t)}getAll(){return 0{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationEditor=void 0;var a=r(136),i=r(1);function s(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}function n(t,e,r){var a=t;if(e.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object");e.set(t,r)}function o(t,e,r){e=h(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function l(t,e){e=h(t,e,"get");return e.get?e.get.call(t):e.value}function h(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var c=new WeakMap,d=new WeakMap,u=new WeakMap,p=new WeakMap,f=new WeakMap,g=new WeakMap;class m{constructor(t){n(this,c,{writable:!0,value:this.focusin.bind(this)}),n(this,d,{writable:!0,value:this.focusout.bind(this)}),n(this,u,{writable:!0,value:!1}),n(this,p,{writable:!0,value:!1}),n(this,f,{writable:!0,value:!1}),n(this,g,{writable:!0,value:m._zIndex++}),this.constructor===m&&(0,i.unreachable)("Cannot initialize AnnotationEditor."),this.parent=t.parent,this.id=t.id,this.width=this.height=null,this.pageIndex=t.parent.pageIndex,this.name=t.name,this.div=null;var[e,r]=this.parent.viewportBaseDimensions;this.x=t.x/e,this.y=t.y/r,this.rotation=this.parent.viewport.rotation,this.isAttachedToDOM=!1}static get _defaultLineColor(){return(0,i.shadow)(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=l(this,g)}focusin(t){l(this,u)?o(this,u,!1):this.parent.setSelected(this)}focusout(t){var e;!this.isAttachedToDOM||null!=(e=t.relatedTarget)&&e.closest("#"+this.id)||(t.preventDefault(),this.parent.isMultipleSelection)||this.commitOrRemove()}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.parent.addToAnnotationStorage(this)}dragstart(t){var e=this.parent.div.getBoundingClientRect();this.startX=t.clientX-e.x,this.startY=t.clientY-e.y,t.dataTransfer.setData("text/plain",this.id),t.dataTransfer.effectAllowed="move"}setAt(t,e,r,a){var[i,s]=this.parent.viewportBaseDimensions;[r,a]=this.screenToPageTranslation(r,a),this.x=(t+r)/i,this.y=(e+a)/s,this.div.style.left=100*this.x+"%",this.div.style.top=100*this.y+"%"}translate(t,e){var[r,a]=this.parent.viewportBaseDimensions;[t,e]=this.screenToPageTranslation(t,e),this.x+=t/r,this.y+=e/a,this.div.style.left=100*this.x+"%",this.div.style.top=100*this.y+"%"}screenToPageTranslation(t,e){var r=this.parent.viewport["rotation"];switch(r){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}}setDims(t,e){var[r,a]=this.parent.viewportBaseDimensions;this.div.style.width=100*t/r+"%",this.div.style.height=100*e/a+"%"}fixDims(){var t,e,r=this.div["style"],{height:a,width:i}=r,s=i.endsWith("%"),n=a.endsWith("%");s&&n||([t,e]=this.parent.viewportBaseDimensions,s||(r.width=100*parseFloat(i)/t+"%"),n)||(r.height=100*parseFloat(a)/e+"%")}getInitialTranslation(){return[0,0]}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.setAttribute("tabIndex",0),this.setInForeground(),this.div.addEventListener("focusin",l(this,c)),this.div.addEventListener("focusout",l(this,d));var[t,e]=this.getInitialTranslation();return this.translate(t,e),(0,a.bindEvents)(this,this.div,["dragstart","pointerdown"]),this.div}pointerdown(t){var e=a.KeyboardManager.platform.isMac;0!==t.button||t.ctrlKey&&e?t.preventDefault():(t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this),o(this,u,!0))}getRect(t,e){var[r,a]=this.parent.viewportBaseDimensions,[i,s]=this.parent.pageDimensions,n=i*t/r,o=s*e/a,l=this.x*i,h=this.y*s,c=this.width*i,d=this.height*s;switch(this.rotation){case 0:return[l+n,s-h-o-d,l+n+c,s-h-o];case 90:return[l+o,s-h+n,l+o+d,s-h+n+c];case 180:return[l-n-c,s-h+o,l-n,s-h+o+d];case 270:return[l-o-d,s-h-n-c,l-o,s-h-n];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){var[r,a,i,s]=t,n=i-r,o=s-a;switch(this.rotation){case 0:return[r,e-s,n,o];case 90:return[r,e-a,o,n];case 180:return[i,e-a,n,o];case 270:return[i,e-s,o,n];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){o(this,f,!0)}disableEditMode(){o(this,f,!1)}isInEditMode(){return l(this,f)}shouldGetKeyboardEvents(){return!1}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){var t;null!=(t=this.div)&&t.addEventListener("focusin",l(this,c))}serialize(){(0,i.unreachable)("An editor must be serializable")}static deserialize(t,e){var r=new this.prototype.constructor({parent:e,id:e.getNextId()}),[e,a]=(r.rotation=t.rotation,e.pageDimensions),[t,i,s,n]=r.getRectInCurrentCoords(t.rect,a);return r.x=t/e,r.y=i/a,r.width=s/e,r.height=n/a,r}remove(){this.div.removeEventListener("focusin",l(this,c)),this.div.removeEventListener("focusout",l(this,d)),this.isEmpty()||this.commit(),this.parent.remove(this)}select(){var t;null!=(t=this.div)&&t.classList.add("selectedEditor")}unselect(){var t;null!=(t=this.div)&&t.classList.remove("selectedEditor")}updateParams(t,e){}disableEditing(){}enableEditing(){}get propertiesToUpdate(){return{}}get contentDiv(){return this.div}get isEditing(){return l(this,p)}set isEditing(t){o(this,p,t),t?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null)}}s(e.AnnotationEditor=m,"_colorManager",new a.ColorManager),s(m,"_zIndex",1)},(L,t,N)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeyboardManager=t.CommandManager=t.ColorManager=t.AnnotationEditorUIManager=void 0,t.bindEvents=function(t,e,r){for(const a of r)e.addEventListener(a,t[a].bind(t))},t.opacityToHex=function(t){return Math.round(Math.min(255,Math.max(1,255*t))).toString(16).padStart(2,"0")};var n=N(1),j=N(137);function U(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}function o(t,e){W(t,e),e.add(t)}function l(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function r(t,e,r){W(t,e),e.set(t,r)}function W(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(t,e,r){e=B(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function c(t,e){e=B(t,e,"get");return e.get?e.get.call(t):e.value}function B(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var a=new WeakMap;class G{constructor(){r(this,a,{writable:!0,value:0})}getId(){var t,e;return""+n.AnnotationEditorPrefix+(h(this,a,(t=c(this,a),e=t++,t)),e)}}var d=new WeakMap,u=new WeakMap,p=new WeakMap,f=new WeakMap;class q{constructor(){var t=0t===r[e]))return V._colorsMapping.get(e);return r}getHexCode(t){var e=this._colors.get(t);return e?n.Util.makeHexColor(...e):t}}U(t.ColorManager=V,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));var i=new WeakMap,s=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,_=new WeakMap,y=new WeakMap,X=new WeakMap,A=new WeakMap,S=new WeakMap,w=new WeakMap,x=new WeakMap,E=new WeakMap,C=new WeakMap,k=new WeakMap,P=new WeakMap,Y=new WeakMap,K=new WeakMap,T=new WeakMap,J=new WeakSet,$=new WeakSet,Q=new WeakSet,Z=new WeakSet,M=new WeakSet,F=new WeakSet,tt=new WeakSet,et=new WeakSet,rt=new WeakSet,R=new WeakSet,at=new WeakSet;class O{constructor(t,e){o(this,at),o(this,R),o(this,rt),o(this,et),o(this,tt),o(this,F),o(this,M),o(this,Z),o(this,Q),o(this,$),o(this,J),r(this,i,{writable:!0,value:null}),r(this,s,{writable:!0,value:new Map}),r(this,m,{writable:!0,value:new Map}),r(this,v,{writable:!0,value:new q}),r(this,b,{writable:!0,value:0}),r(this,_,{writable:!0,value:null}),r(this,y,{writable:!0,value:null}),r(this,X,{writable:!0,value:new G}),r(this,A,{writable:!0,value:!1}),r(this,S,{writable:!0,value:n.AnnotationEditorType.NONE}),r(this,w,{writable:!0,value:new Set}),r(this,x,{writable:!0,value:this.copy.bind(this)}),r(this,E,{writable:!0,value:this.cut.bind(this)}),r(this,C,{writable:!0,value:this.paste.bind(this)}),r(this,k,{writable:!0,value:this.keydown.bind(this)}),r(this,P,{writable:!0,value:this.onEditingAction.bind(this)}),r(this,Y,{writable:!0,value:this.onPageChanging.bind(this)}),r(this,K,{writable:!0,value:{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1}}),r(this,T,{writable:!0,value:null}),h(this,T,t),h(this,y,e),c(this,y)._on("editingaction",c(this,P)),c(this,y)._on("pagechanging",c(this,Y))}destroy(){l(this,$,st).call(this),c(this,y)._off("editingaction",c(this,P)),c(this,y)._off("pagechanging",c(this,Y));for(const t of c(this,m).values())t.destroy();c(this,m).clear(),c(this,s).clear(),h(this,i,null),c(this,w).clear(),c(this,v).destroy()}onPageChanging(t){t=t.pageNumber;h(this,b,t-1)}focusMainContainer(){c(this,T).focus()}copy(t){if(t.preventDefault(),c(this,i)&&c(this,i).commitOrRemove(),this.hasSelection){var e=[];for(const r of c(this,w))r.isEmpty()||e.push(r.serialize());0!==e.length&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}}cut(t){this.copy(t),this.delete()}paste(t){t.preventDefault();let e=t.clipboardData.getData("application/pdfjs");if(e){try{e=JSON.parse(e)}catch(t){return void(0,n.warn)(`paste: "${t.message}".`)}if(Array.isArray(e)){this.unselectAll();var r=c(this,m).get(c(this,b));try{const i=[];for(const s of e){var a=r.deserialize(s);if(!a)return;i.push(a)}this.addCommands({cmd:()=>{for(const t of i)l(this,rt,ct).call(this,t);l(this,at,dt).call(this,i)},undo:()=>{for(const t of i)t.remove()},mustExec:!0})}catch(t){(0,n.warn)(`paste: "${t.message}".`)}}}}keydown(t){var e;null!=(e=this.getActive())&&e.shouldGetKeyboardEvents()||O._keyboardManager.exec(this,t)}onEditingAction(t){["undo","redo","delete","selectAll"].includes(t.name)&&this[t.name]()}setEditingState(t){t?(l(this,J,it).call(this),l(this,Q,nt).call(this),l(this,M,D).call(this,{isEditing:c(this,S)!==n.AnnotationEditorType.NONE,isEmpty:l(this,R,e).call(this),hasSomethingToUndo:c(this,v).hasSomethingToUndo(),hasSomethingToRedo:c(this,v).hasSomethingToRedo(),hasSelectedEditor:!1})):(l(this,$,st).call(this),l(this,Z,ot).call(this),l(this,M,D).call(this,{isEditing:!1}))}registerEditorTypes(t){if(!c(this,_)){h(this,_,t);for(const e of c(this,_))l(this,F,I).call(this,e.defaultPropertiesToUpdate)}}getId(){return c(this,X).getId()}addLayer(t){c(this,m).set(t.pageIndex,t),c(this,A)?t.enable():t.disable()}removeLayer(t){c(this,m).delete(t.pageIndex)}updateMode(t){if(h(this,S,t),t===n.AnnotationEditorType.NONE)this.setEditingState(!1),l(this,et,ht).call(this);else{this.setEditingState(!0),l(this,tt,lt).call(this);for(const e of c(this,m).values())e.updateMode(t)}}updateToolbar(t){t!==c(this,S)&&c(this,y).dispatch("switchannotationeditormode",{source:this,mode:t})}updateParams(t,e){if(c(this,_)){for(const r of c(this,w))r.updateParams(t,e);for(const a of c(this,_))a.updateDefaultParams(t,e)}}getEditors(t){var e=[];for(const r of c(this,s).values())r.pageIndex===t&&e.push(r);return e}getEditor(t){return c(this,s).get(t)}addEditor(t){c(this,s).set(t.id,t)}removeEditor(t){c(this,s).delete(t.id),this.unselect(t)}setActiveEditor(t){c(this,i)!==t&&(h(this,i,t),t)&&l(this,F,I).call(this,t.propertiesToUpdate)}toggleSelected(t){c(this,w).has(t)?(c(this,w).delete(t),t.unselect(),l(this,M,D).call(this,{hasSelectedEditor:this.hasSelection})):(c(this,w).add(t),t.select(),l(this,F,I).call(this,t.propertiesToUpdate),l(this,M,D).call(this,{hasSelectedEditor:!0}))}setSelected(t){for(const e of c(this,w))e!==t&&e.unselect();c(this,w).clear(),c(this,w).add(t),t.select(),l(this,F,I).call(this,t.propertiesToUpdate),l(this,M,D).call(this,{hasSelectedEditor:!0})}isSelected(t){return c(this,w).has(t)}unselect(t){t.unselect(),c(this,w).delete(t),l(this,M,D).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==c(this,w).size}undo(){c(this,v).undo(),l(this,M,D).call(this,{hasSomethingToUndo:c(this,v).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:l(this,R,e).call(this)})}redo(){c(this,v).redo(),l(this,M,D).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:c(this,v).hasSomethingToRedo(),isEmpty:l(this,R,e).call(this)})}addCommands(t){c(this,v).add(t),l(this,M,D).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:l(this,R,e).call(this)})}delete(){if(this.commitOrRemove(),this.hasSelection){const e=[...c(this,w)];this.addCommands({cmd:()=>{for(const t of e)t.remove()},undo:()=>{for(const t of e)l(this,rt,ct).call(this,t)},mustExec:!0})}}commitOrRemove(){var t;null!=(t=c(this,i))&&t.commitOrRemove()}selectAll(){for(const t of c(this,w))t.commit();l(this,at,dt).call(this,c(this,s).values())}unselectAll(){if(c(this,i))c(this,i).commitOrRemove();else if(0!==c(this,w).size){for(const t of c(this,w))t.unselect();c(this,w).clear(),l(this,M,D).call(this,{hasSelectedEditor:!1})}}isActive(t){return c(this,i)===t}getActive(){return c(this,i)}getMode(){return c(this,S)}}function it(){c(this,T).addEventListener("keydown",c(this,k))}function st(){c(this,T).removeEventListener("keydown",c(this,k))}function nt(){document.addEventListener("copy",c(this,x)),document.addEventListener("cut",c(this,E)),document.addEventListener("paste",c(this,C))}function ot(){document.removeEventListener("copy",c(this,x)),document.removeEventListener("cut",c(this,E)),document.removeEventListener("paste",c(this,C))}function D(t){Object.entries(t).some(t=>{var[t,e]=t;return c(this,K)[t]!==e})&&c(this,y).dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(c(this,K),t)})}function I(t){c(this,y).dispatch("annotationeditorparamschanged",{source:this,details:t})}function lt(){if(!c(this,A)){h(this,A,!0);for(const t of c(this,m).values())t.enable()}}function ht(){if(this.unselectAll(),c(this,A)){h(this,A,!1);for(const t of c(this,m).values())t.disable()}}function ct(t){var e=c(this,m).get(t.pageIndex);e?e.addOrRebuild(t):this.addEditor(t)}function e(){if(0===c(this,s).size)return!0;if(1===c(this,s).size)for(const t of c(this,s).values())return t.isEmpty();return!1}function dt(t){c(this,w).clear();for(const e of t)e.isEmpty()||(c(this,w).add(e),e.select());l(this,M,D).call(this,{hasSelectedEditor:!0})}U(t.AnnotationEditorUIManager=O,"_keyboardManager",new g([[["ctrl+a","mac+meta+a"],O.prototype.selectAll],[["ctrl+z","mac+meta+z"],O.prototype.undo],[["ctrl+y","ctrl+shift+Z","mac+meta+shift+Z"],O.prototype.redo],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete"],O.prototype.delete],[["Escape","mac+Escape"],O.prototype.unselectAll]]))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StatTimer=e.RenderingCancelledException=e.PixelsPerInch=e.PageViewport=e.PDFDateString=e.DOMStandardFontDataFactory=e.DOMSVGFactory=e.DOMCanvasFactory=e.DOMCMapReaderFactory=e.AnnotationPrefix=void 0,e.deprecated=function(t){console.log("Deprecated API usage: "+t)},e.getColorValues=function(t){var e=document.createElement("span");e.style.visibility="hidden",document.body.append(e);for(const a of t.keys()){e.style.color=a;var r=window.getComputedStyle(e).color;t.set(a,v(r))}e.remove()},e.getCurrentTransform=function(t){var{a:t,b:e,c:r,d:a,e:i,f:s}=t.getTransform();return[t,e,r,a,i,s]},e.getCurrentTransformInverse=function(t){var{a:t,b:e,c:r,d:a,e:i,f:s}=t.getTransform().invertSelf();return[t,e,r,a,i,s]},e.getFilenameFromUrl=function(t){var e=t.indexOf("#"),r=t.indexOf("?"),e=Math.min(0{const r=document.createElement("script");r.src=a,r.onload=function(t){i&&r.remove(),e(t)},r.onerror=function(){t(new Error("Cannot load script at: "+r.src))},(document.head||document.documentElement).append(r)})};var a=r(138),s=r(1);function i(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}e.AnnotationPrefix="pdfjs_internal_id_";class n{}i(e.PixelsPerInch=n,"CSS",96),i(n,"PDF",72),i(n,"PDF_TO_CSS_UNITS",n.CSS/n.PDF);class o extends a.BaseCanvasFactory{constructor(){var{ownerDocument:t=globalThis.document}=0{const r=new XMLHttpRequest;r.open("GET",a,!0),i&&(r.responseType="arraybuffer"),r.onreadystatechange=()=>{if(r.readyState===XMLHttpRequest.DONE){if(200===r.status||0===r.status){let t;if(i&&r.response?t=new Uint8Array(r.response):!i&&r.responseText&&(t=(0,s.stringToBytes)(r.responseText)),t)return void e(t)}t(new Error(r.statusText))}},r.send(null)})}e.DOMCanvasFactory=o;class h extends a.BaseCMapReaderFactory{_fetchData(t,e){return l(t,this.isCompressed).then(t=>({cMapData:t,compressionType:e}))}}e.DOMCMapReaderFactory=h;class c extends a.BaseStandardFontDataFactory{_fetchData(t){return l(t,!0)}}e.DOMStandardFontDataFactory=c;class d extends a.BaseSVGFactory{_createSVG(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}}e.DOMSVGFactory=d;class u{constructor(t){let{viewBox:e,scale:r,rotation:a,offsetX:i=0,offsetY:s=0,dontFlip:n=!1}=t;this.viewBox=e,this.scale=r,this.rotation=a,this.offsetX=i,this.offsetY=s;var t=(e[2]+e[0])/2,o=(e[3]+e[1])/2;let l,h,c,d;switch((a%=360)<0&&(a+=360),a){case 180:l=-1,h=0,c=0,d=1;break;case 90:l=0,h=1,c=1,d=0;break;case 270:l=0,h=-1,c=-1,d=0;break;case 0:l=1,h=0,c=0,d=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}n&&(c=-c,d=-d);let u,p,f,g;g=0===l?(u=Math.abs(o-e[1])*r+i,p=Math.abs(t-e[0])*r+s,f=Math.abs(e[3]-e[1])*r,Math.abs(e[2]-e[0])*r):(u=Math.abs(t-e[0])*r+i,p=Math.abs(o-e[1])*r+s,f=Math.abs(e[2]-e[0])*r,Math.abs(e[3]-e[1])*r),this.transform=[l*r,h*r,c*r,d*r,u-l*r*t-c*r*o,p-h*r*t-d*r*o],this.width=f,this.height=g}clone(){var{scale:t=this.scale,rotation:e=this.rotation,offsetX:r=this.offsetX,offsetY:a=this.offsetY,dontFlip:i=!1}=0e&&(e=r.length)}for(const s of this.times){var a=s.end-s.start;t.push(s.name.padEnd(e)+` ${a}ms -`)}return t.join("")}};let m;function v(t){var e;return t.startsWith("#")?[(16711680&(e=parseInt(t.slice(1),16)))>>16,(65280&e)>>8,255&e]:t.startsWith("rgb(")?t.slice(4,-1).split(",").map(t=>parseInt(t)):t.startsWith("rgba(")?t.slice(5,-1).split(",").map(t=>parseInt(t)).slice(0,3):((0,s.warn)(`Not a valid color format: "${t}"`),[0,0,0])}e.PDFDateString=class{static toDateObject(t){if(!t||"string"!=typeof t)return null;t=(m=m||new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?")).exec(t);if(!t)return null;var e=parseInt(t[1],10),r=1<=(r=parseInt(t[2],10))&&r<=12?r-1:0,a=1<=(a=parseInt(t[3],10))&&a<=31?a:1;let i=parseInt(t[4],10),s=(i=0<=i&&i<=23?i:0,parseInt(t[5],10));s=0<=s&&s<=59?s:0;var n=0<=(n=parseInt(t[6],10))&&n<=59?n:0,o=t[7]||"Z",l=0<=(l=parseInt(t[8],10))&&l<=23?l:0,t=0<=(t=parseInt(t[9],10)||0)&&t<=59?t:0;return"-"===o?(i+=l,s+=t):"+"===o&&(i-=l,s-=t),new Date(Date.UTC(e,r,a,i,s,n))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseStandardFontDataFactory=e.BaseSVGFactory=e.BaseCanvasFactory=e.BaseCMapReaderFactory=void 0;var a=r(1);e.BaseCanvasFactory=class i{constructor(){this.constructor===i&&(0,a.unreachable)("Cannot initialize BaseCanvasFactory.")}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");return{canvas:t=this._createCanvas(t,e),context:t.getContext("2d")}}reset(t,e,r){if(!t.canvas)throw new Error("Canvas is not specified");if(e<=0||r<=0)throw new Error("Invalid canvas size");t.canvas.width=e,t.canvas.height=r}destroy(t){if(!t.canvas)throw new Error("Canvas is not specified");t.canvas.width=0,t.canvas.height=0,t.canvas=null,t.context=null}_createCanvas(t,e){(0,a.unreachable)("Abstract method `_createCanvas` called.")}};e.BaseCMapReaderFactory=class s{constructor(t){var{baseUrl:t=null,isCompressed:e=!1}=t;this.constructor===s&&(0,a.unreachable)("Cannot initialize BaseCMapReaderFactory."),this.baseUrl=t,this.isCompressed=e}async fetch(t){if(t=t.name,!this.baseUrl)throw new Error('The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.');if(!t)throw new Error("CMap name must be specified.");const e=this.baseUrl+t+(this.isCompressed?".bcmap":"");return t=this.isCompressed?a.CMapCompressionType.BINARY:a.CMapCompressionType.NONE,this._fetchData(e,t).catch(t=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: `+e)})}_fetchData(t,e){(0,a.unreachable)("Abstract method `_fetchData` called.")}};e.BaseStandardFontDataFactory=class n{constructor(t){var{baseUrl:t=null}=t;this.constructor===n&&(0,a.unreachable)("Cannot initialize BaseStandardFontDataFactory."),this.baseUrl=t}async fetch(t){if(t=t.filename,!this.baseUrl)throw new Error('The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.');if(!t)throw new Error("Font filename must be specified.");const e=""+this.baseUrl+t;return this._fetchData(e).catch(t=>{throw new Error("Unable to load font data at: "+e)})}_fetchData(t){(0,a.unreachable)("Abstract method `_fetchData` called.")}};e.BaseSVGFactory=class o{constructor(){this.constructor===o&&(0,a.unreachable)("Cannot initialize BaseSVGFactory.")}create(t,e){var r=2{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MurmurHash3_64=void 0;var p=r(1);const a=3285377520,f=4294901760,g=65535;e.MurmurHash3_64=class{constructor(t){this.h1=t?4294967295&t:a,this.h2=t?4294967295&t:a}update(r){let a,i;if("string"==typeof r){a=new Uint8Array(2*r.length);for(let t=i=0,e=r.length;t>>8,a[i++]=255&s)}}else{if(!(0,p.isArrayBuffer)(r))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");a=r.slice(),i=a.byteLength}var e=i>>2,t=i-4*e,n=new Uint32Array(a.buffer,0,e);let o=0,l,h=this.h1,c=this.h2;var d=3432918353,u=461845907;for(let t=0;t>>17)*u&f|13715*o&g,h=5*(h=(h^=o)<<13|h>>>19)+3864292196):(l=(l=(l=(l=n[t])*d&f|11601*l&g)<<15|l>>>17)*u&f|13715*l&g,c=5*(c=(c^=l)<<13|c>>>19)+3864292196);switch(o=0,t){case 3:o^=a[4*e+2]<<16;case 2:o^=a[4*e+1]<<8;case 1:o=(o=(o=(o^=a[4*e])*d&f|11601*o&g)<<15|o>>>17)*u&f|13715*o&g,1&e?h^=o:c^=o}this.h1=h,this.h2=c}hexdigest(){var t=this.h1,e=this.h2,t=(t=3981806797*(t^=e>>>1)&f|36045*t&g,t=444984403*(t^=(e=4283543511*e&f|(2950163797*(e<<16|t>>>16)&f)>>>16)>>>1)&f|60499*t&g,((t^=(e=3301882366*e&f|(3120437893*(e<<16|t>>>16)&f)>>>16)>>>1)>>>0).toString(16)),e=(e>>>0).toString(16);return t.padStart(8,"0")+e.padStart(8,"0")}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FontLoader=e.FontFaceObject=void 0;var m=r(1);e.FontLoader=class{constructor(t){var{onUnsupportedFeature:t,ownerDocument:e=globalThis.document}=t;this._onUnsupportedFeature=t,this._document=e,this.nativeFontFaces=[],this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.push(t),this._document.fonts.add(t)}insertRule(t){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));var e=this.styleElement.sheet;e.insertRule(t,e.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.length=0,this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async bind(e){if(!e.attached&&!e.missingFile)if(e.attached=!0,this.isFontLoadingAPISupported){var r=e.createNativeFontFace();if(r){this.addNativeFontFace(r);try{await r.loaded}catch(t){throw this._onUnsupportedFeature({featureId:m.UNSUPPORTED_FEATURES.errorFontLoadNative}),(0,m.warn)(`Failed to load font '${r.family}': '${t}'.`),e.disableFontFace=!0,t}}}else{r=e.createFontFaceRule();r&&(this.insertRule(r),this.isSyncFontLoadingSupported||await new Promise(t=>{t=this._queueLoadingCallback(t);this._prepareFontLoadEvent(e,t)}))}}get isFontLoadingAPISupported(){var t=!(null==(t=this._document)||!t.fonts);return(0,m.shadow)(this,"isFontLoadingAPISupported",t)}get isSyncFontLoadingSupported(){let t=!1;var e;return("undefined"==typeof navigator||14<=(null==(e=/Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent))?void 0:e[1]))&&(t=!0),(0,m.shadow)(this,"isSyncFontLoadingSupported",t)}_queueLoadingCallback(t){const e=this["loadingRequests"],r={done:!1,complete:function(){for((0,m.assert)(!r.done,"completeRequest() cannot be called twice."),r.done=!0;0{p.remove(),e.complete()})}};e.FontFaceObject=class{constructor(t,e){var{isEvalSupported:e=!0,disableFontFace:r=!1,ignoreErrors:a=!1,onUnsupportedFeature:i,fontRegistry:s=null}=e;this.compiledGlyphs=Object.create(null);for(const n in t)this[n]=t[n];this.isEvalSupported=!1!==e,this.disableFontFace=!0===r,this.ignoreErrors=!0===a,this._onUnsupportedFeature=i,this.fontRegistry=s}createNativeFontFace(){var t;if(!this.data||this.disableFontFace)return null;let e;return e=this.cssFontInfo?(t={weight:this.cssFontInfo.fontWeight},this.cssFontInfo.italicAngle&&(t.style=`oblique ${this.cssFontInfo.italicAngle}deg`),new FontFace(this.cssFontInfo.fontFamily,this.data,t)):new FontFace(this.loadedName,this.data,{}),null!=(t=this.fontRegistry)&&t.registerFont(this),e}createFontFaceRule(){var t;if(!this.data||this.disableFontFace)return null;var e=(0,m.bytesToString)(this.data),e=`url(data:${this.mimetype};base64,${btoa(e)});`;let r;if(this.cssFontInfo){let t=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(t+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),r=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${t}src:${e}}`}else r=`@font-face {font-family:"${this.loadedName}";src:${e}}`;return null!=(t=this.fontRegistry)&&t.registerFont(this,e),r}getPathGenerator(t,e){if(void 0!==this.compiledGlyphs[e])return this.compiledGlyphs[e];let a;try{a=t.get(this.loadedName+"_path_"+e)}catch(t){if(this.ignoreErrors)return this._onUnsupportedFeature({featureId:m.UNSUPPORTED_FEATURES.errorFontGetPath}),(0,m.warn)(`getPathGenerator - ignoring character: "${t}".`),this.compiledGlyphs[e]=function(t,e){};throw t}if(this.isEvalSupported&&m.FeatureTest.isEvalSupported){var r=[];for(const s of a){var i=void 0!==s.args?s.args.join(","):"";r.push("c.",s.cmd,"(",i,");\n")}return this.compiledGlyphs[e]=new Function("c","size",r.join(""))}return this.compiledGlyphs[e]=function(t,e){for(const r of a)"scale"===r.cmd&&(r.args=[e,-e]),t[r.cmd].apply(t,r.args)}}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CanvasGraphics=void 0;var M=r(1),T=r(137),F=r(142),u=r(143),r=r(3);function o(t,e){var r=t;if(e.has(r))throw new TypeError("Cannot initialize the same private elements twice on an object");e.add(t)}function c(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}const p=4096,y=r.isNodeJS&&"undefined"==typeof Path2D?-1:1e3;class l{constructor(t){this.canvasFactory=t,this.cache=Object.create(null)}getCanvas(t,e,r){let a;return void 0!==this.cache[t]?(a=this.cache[t],this.canvasFactory.reset(a,e,r)):(a=this.canvasFactory.create(e,r),this.cache[t]=a),a}delete(t){delete this.cache[t]}clear(){for(const e in this.cache){var t=this.cache[e];this.canvasFactory.destroy(t),delete this.cache[e]}}}function v(t,e,r,a,i,s,n,o,l,h){var c,d,u,p,[f,g,m,v,b,_]=(0,T.getCurrentTransform)(t);0===g&&0===m?(c=Math.round(n*f+b),d=Math.round(o*v+_),u=Math.abs(Math.round((n+l)*f+b)-c)||1,p=Math.abs(Math.round((o+h)*v+_)-d)||1,t.setTransform(Math.sign(f),0,0,Math.sign(v),c,d),t.drawImage(e,r,a,i,s,0,0,u,p),t.setTransform(f,g,m,v,b,_)):0===f&&0===v?(c=Math.round(o*m+b),d=Math.round(n*g+_),u=Math.abs(Math.round((o+h)*m+b)-c)||1,p=Math.abs(Math.round((n+l)*g+_)-d)||1,t.setTransform(0,Math.sign(g),Math.sign(m),0,c,d),t.drawImage(e,r,a,i,s,0,0,p,u),t.setTransform(f,g,m,v,b,_)):(t.drawImage(e,r,a,i,s,n,o,l,h),Math.hypot(f,g),Math.hypot(m,v))}class d{constructor(t,e){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=M.IDENTITY_MATRIX,this.textMatrixScale=1,this.fontMatrix=M.FONT_IDENTITY_MATRIX,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=M.TextRenderingMode.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps=null,this.startNewPathAndClipBox([0,0,t,e])}clone(){var t=Object.create(this);return t.clipBox=this.clipBox.slice(),t}setCurrentPoint(t,e){this.x=t,this.y=e}updatePathMinMax(t,e,r){[e,r]=M.Util.applyTransform([e,r],t),this.minX=Math.min(this.minX,e),this.minY=Math.min(this.minY,r),this.maxX=Math.max(this.maxX,e),this.maxY=Math.max(this.maxY,r)}updateRectMinMax(t,e){var r=M.Util.applyTransform(e,t),e=M.Util.applyTransform(e.slice(2),t);this.minX=Math.min(this.minX,r[0],e[0]),this.minY=Math.min(this.minY,r[1],e[1]),this.maxX=Math.max(this.maxX,r[0],e[0]),this.maxY=Math.max(this.maxY,r[1],e[1])}updateScalingPathMinMax(t,e){M.Util.scaleMinMax(t,e),this.minX=Math.min(this.minX,e[0]),this.maxX=Math.max(this.maxX,e[1]),this.minY=Math.min(this.minY,e[2]),this.maxY=Math.max(this.maxY,e[3])}updateCurvePathMinMax(t,e,r,a,i,s,n,o,l,h){e=M.Util.bezierBoundingBox(e,r,a,i,s,n,o,l);h?(h[0]=Math.min(h[0],e[0],e[2]),h[1]=Math.max(h[1],e[0],e[2]),h[2]=Math.min(h[2],e[1],e[3]),h[3]=Math.max(h[3],e[1],e[3])):this.updateRectMinMax(t,e)}getPathBoundingBox(){var t=0>2),w=S.length,x=f+7>>3;let a=4294967295,i=M.FeatureTest.isLittleEndian?4278190080:255;for(h&&255===h[0]&&0===h[255]&&([a,i]=[i,a]),t=0;t>=1}for(;n=m&&(r=g,a=f*r),n=0,e=a;e--;)y[n++]=_[s++],y[n++]=_[s++],y[n++]=_[s++],y[n++]=255;if(T)for(let t=0;t>8]>>8:r[t]*s>>16}}function a(t,r,a,i){var s=i[0],n=i[1],o=i[2]-s,i=i[3]-n;if(0!=o&&0!=i){{var l=r.context;var h=a;var c=o;var d=i;o=r.subtype;i=r.backdrop;var u=r.transferMap;var p=s;var f=n;var g=r.offsetX;var m=r.offsetY;var v=!!i,b=v?i[0]:0,_=v?i[1]:0,y=v?i[2]:0;let e;e="Luminosity"===o?O:R;var A=Math.min(d,Math.ceil(1048576/c));for(let t=0;t>8,x[t-2]=x[t-2]*M+C*T>>8,x[t-1]=x[t-1]*M+k*T>>8)}}e(w.data,S.data,u),h.putImageData(S,p,t+f)}}t.save(),t.globalAlpha=1,t.globalCompositeOperation="source-over",t.setTransform(1,0,0,1,0,0),t.drawImage(a.canvas,0,0),t.restore()}}function _(t,e){var t=M.Util.singularValueDecompose2dScale(t),r=(t[0]=Math.fround(t[0]),t[1]=Math.fround(t[1]),Math.fround((globalThis.devicePixelRatio||1)*T.PixelsPerInch.PDF_TO_CSS_UNITS));return void 0!==e?e:t[0]<=r||t[1]<=r}const i=["butt","round","square"],s=["miter","round","bevel"],n={},m={};var A=new WeakSet;class S{constructor(t,e,r,a,i,s,n){o(this,A),this.ctx=t,this.current=new d(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=e,this.objs=r,this.canvasFactory=a,this.groupStack=[],this.processingType3=null,this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=[],this.optionalContentConfig=i,this.cachedCanvases=new l(this.canvasFactory),this.cachedPatterns=new Map,this.annotationCanvasMap=s,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.backgroundColor=(null==n?void 0:n.background)||null,this.foregroundColor=(null==n?void 0:n.foreground)||null,this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map}getObject(t){var e=1(t/=255)<=.03928?t/12.92:((t+.055)/1.055)**2.4,u=Math.round(.2126*d(n)+.7152*d(o)+.0722*d(l));this.selectColor=(t,e,r)=>{t=.2126*d(t)+.7152*d(e)+.0722*d(r);return Math.round(t)===u?c:h}}}this.ctx.fillStyle=this.backgroundColor||a,this.ctx.fillRect(0,0,i,s),this.ctx.restore(),r&&(n=this.cachedCanvases.getCanvas("transparent",i,s),this.compositeCtx=this.ctx,this.transparentCanvas=n.canvas,this.ctx=n.context,this.ctx.save(),this.ctx.transform(...(0,T.getCurrentTransform)(this.compositeCtx))),this.ctx.save(),g(this.ctx,this.foregroundColor),t&&(this.ctx.transform(...t),this.outputScaleX=t[0],this.outputScaleY=t[0]),this.ctx.transform(...e.transform),this.viewportScale=e.scale,this.baseTransform=(0,T.getCurrentTransform)(this.ctx)}executeOperatorList(t,e,r,a){var i=t.argsArray,s=t.fnArray;let n=e||0;var o=i.length;if(o===n)return n;var l=10h)return r(),n;c=0}}}endDrawing(){c(this,A,w).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear()}_scaleImage(r,t){var a,i,e=r.width,s=r.height;let n=Math.max(Math.hypot(t[0],t[1]),1),o=Math.max(Math.hypot(t[2],t[3]),1),l=e,h=s,c="prescale1";for(;2{a.save=a.__originalSave,a.restore=a.__originalRestore,a.rotate=a.__originalRotate,a.scale=a.__originalScale,a.translate=a.__originalTranslate,a.transform=a.__originalTransform,a.setTransform=a.__originalSetTransform,a.resetTransform=a.__originalResetTransform,a.clip=a.__originalClip,a.moveTo=a.__originalMoveTo,a.lineTo=a.__originalLineTo,a.bezierCurveTo=a.__originalBezierCurveTo,a.rect=a.__originalRect,a.closePath=a.__originalClosePath,a.beginPath=a.__originalBeginPath,delete a._removeMirroring},a.save=function(){n.save(),this.__originalSave()},a.restore=function(){n.restore(),this.__originalRestore()},a.translate=function(t,e){n.translate(t,e),this.__originalTranslate(t,e)},a.scale=function(t,e){n.scale(t,e),this.__originalScale(t,e)},a.transform=function(t,e,r,a,i,s){n.transform(t,e,r,a,i,s),this.__originalTransform(t,e,r,a,i,s)},a.setTransform=function(t,e,r,a,i,s){n.setTransform(t,e,r,a,i,s),this.__originalSetTransform(t,e,r,a,i,s)},a.resetTransform=function(){n.resetTransform(),this.__originalResetTransform()},a.rotate=function(t){n.rotate(t),this.__originalRotate(t)},a.clip=function(t){n.clip(t),this.__originalClip(t)},a.moveTo=function(t,e){n.moveTo(t,e),this.__originalMoveTo(t,e)},a.lineTo=function(t,e){n.lineTo(t,e),this.__originalLineTo(t,e)},a.bezierCurveTo=function(t,e,r,a,i,s){n.bezierCurveTo(t,e,r,a,i,s),this.__originalBezierCurveTo(t,e,r,a,i,s)},a.rect=function(t,e,r,a){n.rect(t,e,r,a),this.__originalRect(t,e,r,a)},a.closePath=function(){n.closePath(),this.__originalClosePath()},a.beginPath=function(){n.beginPath(),this.__originalBeginPath()},this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),f(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(t){var e;this.current.activeSMask&&(t?(t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.ceil(t[2]),t[3]=Math.ceil(t[3])):t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height],e=this.current.activeSMask,a(this.suspendedCtx,e,this.ctx,t),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore())}save(){(this.inSMaskMode?(f(this.ctx,this.suspendedCtx),this.suspendedCtx):this.ctx).save();var t=this.current;this.stateStack.push(t),this.current=t.clone()}restore(){0===this.stateStack.length&&this.inSMaskMode&&this.endSMaskMode(),0!==this.stateStack.length&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),f(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null)}transform(t,e,r,a,i,s){this.ctx.transform(t,e,r,a,i,s),this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null}constructPath(a,i,t){var s=this.ctx,n=this.current;let o=n.x,l=n.y,h,c;var d=(0,T.getCurrentTransform)(s),u=0===d[0]&&0===d[3]||0===d[1]&&0===d[2],p=u?t.slice(0):null;for(let t=0,e=0,r=a.length;tnew S(t,this.commonObjs,this.objs,this.canvasFactory)},a)):this._getPattern(t[1],t[2])}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(t,e,r){var a=(null==(a=this.selectColor)?void 0:a.call(this,t,e,r))||M.Util.makeHexColor(t,e,r);this.ctx.strokeStyle=a,this.current.strokeColor=a}setFillRGBColor(t,e,r){var a=(null==(a=this.selectColor)?void 0:a.call(this,t,e,r))||M.Util.makeHexColor(t,e,r);this.ctx.fillStyle=a,this.current.fillColor=a,this.current.patternFill=!1}_getPattern(t){var e=1p&&(r=t/p,t=p),e>p&&(a=e/p,e=p),this.current.startNewPathAndClipBox([0,0,t,e]),"groupAt"+this.groupLevel);s.smask&&(i+="_smask_"+this.smaskCounter++%2);var l=this.cachedCanvases.getCanvas(i,t,e),d=l.context;d.scale(1/r,1/a),d.translate(-h,-c),d.transform(...o),s.smask?this.smaskStack.push({canvas:l.canvas,context:d,offsetX:h,offsetY:c,scaleX:r,scaleY:a,subtype:s.smask.subtype,backdrop:s.smask.backdrop,transferMap:s.smask.transferMap||null,startTransformInverse:null}):(n.setTransform(1,0,0,1,0,0),n.translate(h,c),n.scale(r,a),n.save()),f(n,d),this.ctx=d,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(n),this.groupLevel++}}endGroup(t){var e,r;this.contentVisible&&(this.groupLevel--,e=this.ctx,r=this.groupStack.pop(),this.ctx=r,this.ctx.imageSmoothingEnabled=!1,t.smask?(this.tempSMask=this.smaskStack.pop(),this.restore()):(this.ctx.restore(),r=(0,T.getCurrentTransform)(this.ctx),this.restore(),this.ctx.save(),this.ctx.setTransform(...r),t=M.Util.getAxialAlignedBoundingBox([0,0,e.canvas.width,e.canvas.height],r),this.ctx.drawImage(e.canvas,0,0),this.ctx.restore(),this.compose(t)))}beginAnnotation(t,e,r,a,i){var s,n,o,l,h;c(this,A,w).call(this),g(this.ctx,this.foregroundColor),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),Array.isArray(e)&&4===e.length&&(s=e[2]-e[0],n=e[3]-e[1],i&&this.annotationCanvasMap?((r=r.slice())[4]-=e[0],r[5]-=e[1],(e=e.slice())[0]=e[1]=0,e[2]=s,e[3]=n,[i,o]=M.Util.singularValueDecompose2dScale((0,T.getCurrentTransform)(this.ctx)),h=this["viewportScale"],l=Math.ceil(s*this.outputScaleX*h),h=Math.ceil(n*this.outputScaleY*h),{canvas:l,context:h}=(this.annotationCanvas=this.canvasFactory.create(l,h),this.annotationCanvas),this.annotationCanvasMap.set(t,l),this.annotationCanvas.savedCtx=this.ctx,this.ctx=h,this.ctx.setTransform(i,0,0,-o,0,n*o),g(this.ctx,this.foregroundColor)):(g(this.ctx,this.foregroundColor),this.ctx.rect(e[0],e[1],s,n),this.ctx.clip(),this.endPath())),this.current=new d(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...r),this.transform(...a)}endAnnotation(){this.annotationCanvas&&(this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(t){var e,r;this.contentVisible&&(e=t.count,(t=this.getObject(t.data,t)).count=e,e=this.ctx,(r=this.processingType3)&&(void 0===r.compiled&&(r.compiled=function(t){const{width:r,height:e}=t;if(r>y||e>y)return null;var a=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),i=r+1;let s=new Uint8Array(i*(e+1)),n,o,l;var h=r+7&-8;let c=new Uint8Array(h*e),d=0;for(const _ of t.data){let t=128;for(;0>=1}let u=0;for((d=0)!==c[d]&&(s[0]=1,++u),o=1;o>2)+(c[d+1]?4:0)+(c[d-h+1]?8:0)]&&(s[l+o]=a[t],++u),d++;if(c[d-h]!==c[d]&&(s[l+o]=c[d]?2:4,++u),1e3>4,s[e]&=t>>2|t<<2),f.lineTo(e%i,e/i|0),s[e]||--u}while(m!==e);--n}}return c=null,s=null,function(t){t.save(),t.scale(1/r,-1/e),t.translate(0,-e),t.fill(f),t.beginPath(),t.restore()}}(t)),r.compiled)?r.compiled(e):(t=(r=this._createMaskCanvas(t)).canvas,e.save(),e.setTransform(1,0,0,1,0,0),e.drawImage(t,r.offsetX,r.offsetY),e.restore(),this.compose()))}paintImageMaskXObjectRepeat(t,r){var a=2t/o)),i.lineDashOffset/=o,i.stroke(),a&&(i.setTransform(...t),i.setLineDash(e),i.lineDashOffset=r)}}isContentVisible(){for(let t=this.markedContentStack.length-1;0<=t;t--)if(!this.markedContentStack[t].visible)return!1;return!0}}function w(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)}e.CanvasGraphics=S;for(const x in M.OPS)void 0!==S.prototype[x]&&(S.prototype[M.OPS[x]]=S.prototype[x])},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TilingPattern=e.PathType=void 0,e.getShadingPattern=function(t){switch(t[0]){case"RadialAxial":return new i(t);case"Mesh":return new n(t);case"Dummy":return new h}throw new Error("Unknown IR type: "+t[0])};var v=r(1),b=r(137),s=r(3);const o={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function l(t,e){var r,a,i;e&&!s.isNodeJS&&(r=e[2]-e[0],a=e[3]-e[1],(i=new Path2D).rect(e[0],e[1],r,a),t.clip(i))}e.PathType=o;class a{constructor(){this.constructor===a&&(0,v.unreachable)("Cannot initialize BaseShadingPattern.")}getPattern(){(0,v.unreachable)("Abstract method `getPattern` called.")}}class i extends a{constructor(t){super(),this._type=t[1],this._bbox=t[2],this._colorStops=t[3],this._p0=t[4],this._p1=t[5],this._r0=t[6],this._r1=t[7],this.matrix=null}_createGradient(t){let e;"axial"===this._type?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):"radial"===this._type&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const r of this._colorStops)e.addColorStop(r[0],r[1]);return e}getPattern(t,e,r,a){let i;var s,n;return a===o.STROKE||a===o.FILL?(a=e.current.getClippedPathBoundingBox(a,(0,b.getCurrentTransform)(t))||[0,0,0,0],s=Math.ceil(a[2]-a[0])||1,n=Math.ceil(a[3]-a[1])||1,(n=(s=e.cachedCanvases.getCanvas("pattern",s,n,!0)).context).clearRect(0,0,n.canvas.width,n.canvas.height),n.beginPath(),n.rect(0,0,n.canvas.width,n.canvas.height),n.translate(-a[0],-a[1]),r=v.Util.transform(r,[1,0,0,1,a[0],a[1]]),n.transform(...e.baseTransform),this.matrix&&n.transform(...this.matrix),l(n,this._bbox),n.fillStyle=this._createGradient(n),n.fill(),i=t.createPattern(s.canvas,"no-repeat"),a=new DOMMatrix(r),i.setTransform(a)):(l(t,this._bbox),i=this._createGradient(t)),i}}function A(t,e,r,a,i,l,h,c){var s=e.coords,d=e.colors,u=t.data,p=4*t.width;let n;s[r+1]>s[a+1]&&(n=r,r=a,a=n,n=l,l=h,h=n),s[a+1]>s[i+1]&&(n=a,a=i,i=n,n=h,h=c,c=n),s[r+1]>s[a+1]&&(n=r,r=a,a=n,n=l,l=h,h=n);var f=(s[r]+e.offsetX)*e.scaleX,g=(s[r+1]+e.offsetY)*e.scaleY,m=(s[a]+e.offsetX)*e.scaleX,v=(s[a+1]+e.offsetY)*e.scaleY,b=(s[i]+e.offsetX)*e.scaleX,_=(s[i+1]+e.offsetY)*e.scaleY;if(!(_<=g)){var y=d[l],A=d[l+1],S=d[l+2],w=d[h],x=d[h+1],E=d[h+2],C=d[c],k=d[c+1],P=d[c+2],t=Math.round(g),T=Math.round(_);let i,s,n,o;for(let a=t;a<=T;a++){if(a_?1:v==_?0:(v-a)/(v-_),i=m-(m-b)*t,s=w-(w-C)*t,n=x-(x-k)*t,o=E-(E-P)*t}let e;var M=f-(f-b)*(e=a_?1:(g-a)/(g-_)),F=y-(y-C)*e,R=A-(A-k)*e,O=S-(S-P)*e,D=Math.round(Math.min(i,M)),I=Math.round(Math.max(i,M));let r=p*a+4*D;for(let t=D;t<=I;t++)(e=(i-t)/(i-M))<0?e=0:1=e?a=e:r=a/t,{scale:r,size:a}}clipBbox(t,e,r,a,i){t.ctx.rect(e,r,a-e,i-r),t.current.updateRectMinMax((0,b.getCurrentTransform)(t.ctx),[e,r,a,i]),t.clip(),t.endPath()}setFillAndStrokeStyleToContext(t,e,r){var a=t.ctx,i=t.current;switch(e){case c.COLORED:var s=this.ctx;a.fillStyle=s.fillStyle,a.strokeStyle=s.strokeStyle,i.fillColor=s.fillStyle,i.strokeColor=s.strokeStyle;break;case c.UNCOLORED:s=v.Util.makeHexColor(r[0],r[1],r[2]),a.fillStyle=s,a.strokeStyle=s,i.fillColor=s,i.strokeColor=s;break;default:throw new v.FormatError("Unsupported paint type: "+e)}}getPattern(t,e,r,a){let i=r,s=(a!==o.SHADING&&(i=v.Util.transform(i,e.baseTransform),this.matrix)&&(i=v.Util.transform(i,this.matrix)),r=this.createPatternCanvas(e),new DOMMatrix(i));return s=(s=s.translate(r.offsetX,r.offsetY)).scale(1/r.scaleX,1/r.scaleY),(a=t.createPattern(r.canvas,"repeat")).setTransform(s),a}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.applyMaskImageData=function(t){let{src:e,srcPos:r=0,dest:a,destPos:i=0,width:s,height:n,inverseDecode:o=!1}=t;var t=m.FeatureTest.isLittleEndian?4278190080:255,[l,h]=o?[0,t]:[t,0],c=s>>3,d=7&s,u=e.length;a=new Uint32Array(a.buffer);for(let t=0;t{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalWorkerOptions=void 0;var r=Object.create(null);(e.GlobalWorkerOptions=r).workerPort=void 0===r.workerPort?null:r.workerPort,r.workerSrc=void 0===r.workerSrc?"":r.workerSrc},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MessageHandler=void 0;var h=r(1);const o={UNKNOWN:0,DATA:1,ERROR:2},c={UNKNOWN:0,CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function d(t){switch(t instanceof Error||"object"==typeof t&&null!==t||(0,h.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),t.name){case"AbortException":return new h.AbortException(t.message);case"MissingPDFException":return new h.MissingPDFException(t.message);case"PasswordException":return new h.PasswordException(t.message,t.code);case"UnexpectedResponseException":return new h.UnexpectedResponseException(t.message,t.status);case"UnknownErrorException":return new h.UnknownErrorException(t.message,t.details);default:return new h.UnknownErrorException(t.message,t.toString())}}e.MessageHandler=class{constructor(t,e,n){this.sourceName=t,this.targetName=e,this.comObj=n,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=t=>{const e=t.data;if(e.targetName===this.sourceName)if(e.stream)this._processStreamMessage(e);else if(e.callback){var t=e.callbackId,r=this.callbackCapabilities[t];if(!r)throw new Error("Cannot resolve callback "+t);if(delete this.callbackCapabilities[t],e.callback===o.DATA)r.resolve(e.data);else{if(e.callback!==o.ERROR)throw new Error("Unexpected callback case");r.reject(d(e.reason))}}else{const a=this.actionHandler[e.action];if(!a)throw new Error("Unknown action from worker: "+e.action);if(e.callbackId){const i=this.sourceName,s=e.sourceName;void new Promise(function(t){t(a(e.data))}).then(function(t){n.postMessage({sourceName:i,targetName:s,callback:o.DATA,callbackId:e.callbackId,data:t})},function(t){n.postMessage({sourceName:i,targetName:s,callback:o.ERROR,callbackId:e.callbackId,reason:d(t)})})}else e.streamId?this._createStreamSink(e):a(e.data)}},n.addEventListener("message",this._onComObjOnMessage)}on(t,e){var r=this.actionHandler;if(r[t])throw new Error(`There is already an actionName called "${t}"`);r[t]=e}send(t,e,r){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},r)}sendWithPromise(t,e,r){var a=this.callbackId++,i=(0,h.createPromiseCapability)();this.callbackCapabilities[a]=i;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:a,data:e},r)}catch(t){i.reject(t)}return i.promise}sendWithStream(r,a,t,i){const s=this.streamId++,n=this.sourceName,o=this.targetName,l=this.comObj;return new ReadableStream({start:t=>{var e=(0,h.createPromiseCapability)();return this.streamControllers[s]={controller:t,startCall:e,pullCall:null,cancelCall:null,isClosed:!1},l.postMessage({sourceName:n,targetName:o,action:r,streamId:s,data:a,desiredSize:t.desiredSize},i),e.promise},pull:t=>{var e=(0,h.createPromiseCapability)();return this.streamControllers[s].pullCall=e,l.postMessage({sourceName:n,targetName:o,stream:c.PULL,streamId:s,desiredSize:t.desiredSize}),e.promise},cancel:t=>{(0,h.assert)(t instanceof Error,"cancel must have a valid reason");var e=(0,h.createPromiseCapability)();return this.streamControllers[s].cancelCall=e,this.streamControllers[s].isClosed=!0,l.postMessage({sourceName:n,targetName:o,stream:c.CANCEL,streamId:s,reason:d(t)}),e.promise}},t)}_createStreamSink(e){const i=e.streamId,s=this.sourceName,n=e.sourceName,o=this.comObj,t=this,r=this.actionHandler[e.action],a={enqueue(t){var e,r=1{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Metadata=void 0;var a=r(1);function i(t,e,r){var a=t;if(e.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object");e.set(t,r)}function s(t,e){e=o(t,e,"get");return e.get?e.get.call(t):e.value}function n(t,e,r){e=o(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function o(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var l=new WeakMap,h=new WeakMap;e.Metadata=class{constructor(t){var{parsedData:t,rawData:e}=t;i(this,l,{writable:!0,value:void 0}),i(this,h,{writable:!0,value:void 0}),n(this,l,t),n(this,h,e)}getRaw(){return s(this,h)}get(t){return s(this,l).get(t)??null}getAll(){return(0,a.objectFromMap)(s(this,l))}has(t){return s(this,l).has(t)}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OptionalContentConfig=void 0;var s=r(1),a=r(139);function n(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function o(t,e,r){l(t,e),e.set(t,r)}function l(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(t,e,r){var e=i(t,e,"set"),a=r;if(e.set)e.set.call(t,a);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=a}return r}function c(t,e){e=i(t,e,"get");return e.get?e.get.call(t):e.value}function i(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}const d=Symbol("INTERNAL");var u=new WeakMap;class p{constructor(t,e){o(this,u,{writable:!0,value:!0}),this.name=t,this.intent=e}get visible(){return c(this,u)}_setVisible(t,e){t!==d&&(0,s.unreachable)("Internal method `_setVisible` called."),h(this,u,e)}}var f=new WeakMap,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakSet;function _(r){var t=r.length;if(t<2)return!0;var a=r[0];for(let e=1;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PDFDataTransportStream=void 0;var a=r(1),s=r(137);e.PDFDataTransportStream=class{constructor(t,e){(0,a.assert)(e,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'),this._queuedChunks=[],this._progressiveDone=t.progressiveDone||!1,this._contentDispositionFilename=t.contentDispositionFilename||null;var r=t.initialData;0<(null==r?void 0:r.length)&&(r=new Uint8Array(r).buffer,this._queuedChunks.push(r)),this._pdfDataRangeTransport=e,this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._contentLength=t.length,this._fullRequestReader=null,this._rangeReaders=[],this._pdfDataRangeTransport.addRangeListener((t,e)=>{this._onReceiveData({begin:t,chunk:e})}),this._pdfDataRangeTransport.addProgressListener((t,e)=>{this._onProgress({loaded:t,total:e})}),this._pdfDataRangeTransport.addProgressiveReadListener(t=>{this._onReceiveData({chunk:t})}),this._pdfDataRangeTransport.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),this._pdfDataRangeTransport.transportReady()}_onReceiveData(e){const r=new Uint8Array(e.chunk).buffer;var t;void 0===e.begin?this._fullRequestReader?this._fullRequestReader._enqueue(r):this._queuedChunks.push(r):(t=this._rangeReaders.some(function(t){return t._begin===e.begin&&(t._enqueue(r),!0)}),(0,a.assert)(t,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."))}get _progressiveDataLength(){var t;return(null==(t=this._fullRequestReader)?void 0:t._loaded)??0}_onProgress(t){var e,r;void 0===t.total?null!=(r=this._rangeReaders[0])&&null!=(e=r.onProgress)&&e.call(r,{loaded:t.loaded}):null!=(e=this._fullRequestReader)&&null!=(r=e.onProgress)&&r.call(e,{loaded:t.loaded,total:t.total})}_onProgressiveDone(){var t;null!=(t=this._fullRequestReader)&&t.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(t){t=this._rangeReaders.indexOf(t);0<=t&&this._rangeReaders.splice(t,1)}getFullReader(){(0,a.assert)(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");var t=this._queuedChunks;return this._queuedChunks=null,new i(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){var r;return e<=this._progressiveDataLength?null:(r=new n(this,t,e),this._pdfDataRangeTransport.requestDataRange(t,e),this._rangeReaders.push(r),r)}cancelAllRequests(t){var e;null!=(e=this._fullRequestReader)&&e.cancel(t);for(const r of this._rangeReaders.slice(0))r.cancel(t);this._pdfDataRangeTransport.abort()}};class i{constructor(t,e){var r=2{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.XfaText=void 0;class n{static textContent(t){const s=[];var e={items:s,styles:Object.create(null)};return function e(r){if(r){let t=null;var a=r.name;if("#text"===a)t=r.value;else{if(!n.shouldBuildText(a))return;null!=r&&null!=(a=r.attributes)&&a.textContent?t=r.attributes.textContent:r.value&&(t=r.value)}if(null!==t&&s.push({str:t}),r.children)for(const i of r.children)e(i)}}(t),e}static shouldBuildText(t){return!("textarea"===t||"input"===t||"option"===t||"select"===t)}}e.XfaText=n},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NodeStandardFontDataFactory=e.NodeCanvasFactory=e.NodeCMapReaderFactory=void 0;r=r(138);function a(t){return new Promise((r,a)=>{require("fs").readFile(t,(t,e)=>{t||!e?a(new Error(t)):r(new Uint8Array(e))})})}class i extends r.BaseCanvasFactory{_createCanvas(t,e){return require("canvas").createCanvas(t,e)}}e.NodeCanvasFactory=i;class s extends r.BaseCMapReaderFactory{_fetchData(t,e){return a(t).then(t=>({cMapData:t,compressionType:e}))}}e.NodeCMapReaderFactory=s;class n extends r.BaseStandardFontDataFactory{_fetchData(t){return a(t)}}e.NodeStandardFontDataFactory=n},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationEditorLayer=void 0;var a=r(136),i=r(1),s=r(152),n=r(153);function o(t,e){h(t,e),e.add(t)}function l(t,e,r){h(t,e),e.set(t,r)}function h(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function c(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function d(t,e){e=p(t,e,"get");return e.get?e.get.call(t):e.value}function u(t,e,r){e=p(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function p(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var f,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,_=new WeakMap,y=new WeakMap,A=new WeakMap,S=new WeakMap,w=new WeakSet,x=new WeakSet,E=new WeakSet,C=new WeakSet;class k{constructor(t){o(this,C),o(this,E),o(this,x),o(this,w),l(this,g,{writable:!0,value:void 0}),l(this,m,{writable:!0,value:!1}),l(this,v,{writable:!0,value:this.pointerup.bind(this)}),l(this,b,{writable:!0,value:this.pointerdown.bind(this)}),l(this,_,{writable:!0,value:new Map}),l(this,y,{writable:!0,value:!1}),l(this,A,{writable:!0,value:!1}),l(this,S,{writable:!0,value:void 0}),k._initialized||(k._initialized=!0,s.FreeTextEditor.initialize(t.l10n),n.InkEditor.initialize(t.l10n)),t.uiManager.registerEditorTypes([s.FreeTextEditor,n.InkEditor]),u(this,S,t.uiManager),this.annotationStorage=t.annotationStorage,this.pageIndex=t.pageIndex,this.div=t.div,u(this,g,t.accessibilityManager),d(this,S).addLayer(this)}updateToolbar(t){d(this,S).updateToolbar(t)}updateMode(){var t=0{t.div.style.display="",t.div.remove(),t.isAttachedToDOM=!1,document.activeElement===document.body&&d(this,S).focusMainContainer()},0),d(this,A)||this.addInkEditorIfNeeded(!1)}add(t){var e;c(this,w,P).call(this,t),d(this,S).addEditor(t),this.attach(t),t.isAttachedToDOM||(e=t.render(),this.div.append(e),t.isAttachedToDOM=!0),this.moveEditorInDOM(t),t.onceAdded(),this.addToAnnotationStorage(t)}moveEditorInDOM(t){var e;null!=(e=d(this,g))&&e.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addToAnnotationStorage(t){t.isEmpty()||this.annotationStorage.has(t.id)||this.annotationStorage.setValue(t.id,t)}addOrRebuild(t){t.needsToBeRebuilt()?t.rebuild():this.add(t)}addANewEditor(t){this.addCommands({cmd:()=>{this.addOrRebuild(t)},undo:()=>{t.remove()},mustExec:!0})}addUndoableEditor(t){this.addCommands({cmd:()=>{this.addOrRebuild(t)},undo:()=>{t.remove()},mustExec:!1})}getNextId(){return d(this,S).getId()}deserialize(t){switch(t.annotationType){case i.AnnotationEditorType.FREETEXT:return s.FreeTextEditor.deserialize(t,this);case i.AnnotationEditorType.INK:return n.InkEditor.deserialize(t,this)}return null}setSelected(t){d(this,S).setSelected(t)}toggleSelected(t){d(this,S).toggleSelected(t)}isSelected(t){return d(this,S).isSelected(t)}unselect(t){d(this,S).unselect(t)}pointerup(t){var e=a.KeyboardManager.platform.isMac;0!==t.button||t.ctrlKey&&e||t.target===this.div&&d(this,y)&&(u(this,y,!1),d(this,m)?c(this,E,M).call(this,t):u(this,m,!0))}pointerdown(t){var e=a.KeyboardManager.platform.isMac;0!==t.button||t.ctrlKey&&e||t.target===this.div&&(u(this,y,!0),e=d(this,S).getActive(),u(this,m,!e||e.isEmpty()))}drop(t){var e,r,a=t.dataTransfer.getData("text/plain"),a=d(this,S).getEditor(a);a&&(t.preventDefault(),t.dataTransfer.dropEffect="move",c(this,w,P).call(this,a),e=this.div.getBoundingClientRect(),r=t.clientX-e.x,t=t.clientY-e.y,a.translate(r-a.startX,t-a.startY),this.moveEditorInDOM(a),a.div.focus())}dragover(t){t.preventDefault()}destroy(){var t,e;(null==(t=d(this,S).getActive())?void 0:t.parent)===this&&d(this,S).setActiveEditor(null);for(const r of d(this,_).values())null!=(e=d(this,g))&&e.removePointerInTextLayer(r.contentDiv),r.isAttachedToDOM=!1,r.div.remove(),r.parent=null;this.div=null,d(this,_).clear(),d(this,S).removeLayer(this)}render(t){this.viewport=t.viewport,(0,a.bindEvents)(this,this.div,["dragover","drop"]),this.setDimensions();for(const e of d(this,S).getEditors(this.pageIndex))this.add(e);this.updateMode()}update(t){d(this,S).commitOrRemove(),this.viewport=t.viewport,this.setDimensions(),this.updateMode()}get scaleFactor(){return this.viewport.scale}get pageDimensions(){var[t,e,r,a]=this.viewport.viewBox;return[r-t,a-e]}get viewportBaseDimensions(){var{width:t,height:e,rotation:r}=this.viewport;return r%180==0?[t,e]:[e,t]}setDimensions(){var{width:t,height:e,rotation:r}=this.viewport,a=r%180!=0,t=Math.floor(t)+"px",e=Math.floor(e)+"px";this.div.style.width=a?e:t,this.div.style.height=a?t:e,this.div.setAttribute("data-main-rotation",r)}}function P(t){var e;t.parent!==this&&(this.attach(t),t.pageIndex=this.pageIndex,null!=(e=t.parent)&&e.detach(t),t.parent=this,t.div)&&t.isAttachedToDOM&&(t.div.remove(),this.div.append(t.div))}function T(t){switch(d(this,S).getMode()){case i.AnnotationEditorType.FREETEXT:return new s.FreeTextEditor(t);case i.AnnotationEditorType.INK:return new n.InkEditor(t)}return null}function M(t){var e=this.getNextId(),e=c(this,x,T).call(this,{parent:this,id:e,x:t.offsetX,y:t.offsetY});return e&&this.add(e),e}function F(){u(this,A,!0);for(const t of d(this,_).values())t.isEmpty()&&t.remove();u(this,A,!1)}e.AnnotationEditorLayer=k,r=k,f=!(e="_initialized"),e in r?Object.defineProperty(r,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):r[e]=f},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FreeTextEditor=void 0;var a=r(1),n=r(136),i=r(135);function s(t,e){h(t,e),e.add(t)}function o(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}function l(t,e,r){h(t,e),e.set(t,r)}function h(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function c(t,e){e=p(t,e,"get");return e.get?e.get.call(t):e.value}function d(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function u(t,e,r){e=p(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function p(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var f=new WeakMap,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,_=new WeakMap,y=new WeakMap,A=new WeakMap,S=new WeakMap,w=new WeakSet,x=new WeakSet,E=new WeakSet,C=new WeakSet;class k extends i.AnnotationEditor{constructor(t){super({...t,name:"freeTextEditor"}),s(this,C),s(this,E),s(this,x),s(this,w),l(this,f,{writable:!0,value:this.editorDivBlur.bind(this)}),l(this,g,{writable:!0,value:this.editorDivFocus.bind(this)}),l(this,m,{writable:!0,value:this.editorDivInput.bind(this)}),l(this,v,{writable:!0,value:this.editorDivKeydown.bind(this)}),l(this,b,{writable:!0,value:void 0}),l(this,_,{writable:!0,value:""}),l(this,y,{writable:!0,value:this.id+"-editor"}),l(this,A,{writable:!0,value:!1}),l(this,S,{writable:!0,value:void 0}),u(this,b,t.color||k._defaultColor||i.AnnotationEditor._defaultLineColor),u(this,S,t.fontSize||k._defaultFontSize)}static initialize(e){this._l10nPromise=new Map(["free_text2_default_content","editor_free_text2_aria_label"].map(t=>[t,e.get(t)]));var t=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(t.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,e){switch(t){case a.AnnotationEditorParamsType.FREETEXT_SIZE:k._defaultFontSize=e;break;case a.AnnotationEditorParamsType.FREETEXT_COLOR:k._defaultColor=e}}updateParams(t,e){switch(t){case a.AnnotationEditorParamsType.FREETEXT_SIZE:d(this,w,P).call(this,e);break;case a.AnnotationEditorParamsType.FREETEXT_COLOR:d(this,x,T).call(this,e)}}static get defaultPropertiesToUpdate(){return[[a.AnnotationEditorParamsType.FREETEXT_SIZE,k._defaultFontSize],[a.AnnotationEditorParamsType.FREETEXT_COLOR,k._defaultColor||i.AnnotationEditor._defaultLineColor]]}get propertiesToUpdate(){return[[a.AnnotationEditorParamsType.FREETEXT_SIZE,c(this,S)],[a.AnnotationEditorParamsType.FREETEXT_COLOR,c(this,b)]]}getInitialTranslation(){return[-k._internalPadding*this.parent.scaleFactor,-(k._internalPadding+c(this,S))*this.parent.scaleFactor]}rebuild(){super.rebuild(),null===this.div||this.isAttachedToDOM||this.parent.add(this)}enableEditMode(){this.isInEditMode()||(this.parent.setEditingState(!1),this.parent.updateToolbar(a.AnnotationEditorType.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this.div.draggable=!1,this.div.removeAttribute("aria-activedescendant"),this.editorDiv.addEventListener("keydown",c(this,v)),this.editorDiv.addEventListener("focus",c(this,g)),this.editorDiv.addEventListener("blur",c(this,f)),this.editorDiv.addEventListener("input",c(this,m)))}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",c(this,y)),this.div.draggable=!0,this.editorDiv.removeEventListener("keydown",c(this,v)),this.editorDiv.removeEventListener("focus",c(this,g)),this.editorDiv.removeEventListener("blur",c(this,f)),this.editorDiv.removeEventListener("input",c(this,m)),this.div.focus(),this.isEditing=!1,this.parent.div.classList.add("freeTextEditing"))}focusin(t){super.focusin(t),t.target!==this.editorDiv&&this.editorDiv.focus()}onceAdded(){this.width||(this.enableEditMode(),this.editorDiv.focus())}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent.setEditingState(!0),this.parent.div.classList.add("freeTextEditing"),super.remove()}commit(){super.commit(),c(this,A)||(u(this,A,!0),this.parent.addUndoableEditor(this)),this.disableEditMode(),u(this,_,d(this,E,M).call(this).trimEnd()),d(this,C,F).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}dblclick(t){this.enableEditMode(),this.editorDiv.focus()}keydown(t){t.target===this.div&&"Enter"===t.key&&(this.enableEditMode(),this.editorDiv.focus())}editorDivKeydown(t){k._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}editorDivInput(t){this.parent.div.classList.toggle("freeTextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(!this.div){let t,e;this.width&&(t=this.x,e=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",c(this,y)),this.enableEditing(),k._l10nPromise.get("editor_free_text2_aria_label").then(t=>{var e;return null==(e=this.editorDiv)?void 0:e.setAttribute("aria-label",t)}),k._l10nPromise.get("free_text2_default_content").then(t=>{var e;return null==(e=this.editorDiv)?void 0:e.setAttribute("default-content",t)}),this.editorDiv.contentEditable=!0;var r=this.editorDiv["style"];if(r.fontSize=`calc(${c(this,S)}px * var(--scale-factor))`,r.color=c(this,b),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),(0,n.bindEvents)(this,this.div,["dblclick","keydown"]),this.width){var[r,a]=this.parent.viewportBaseDimensions;this.setAt(t*r,e*a,this.width*r,this.height*a);for(const s of c(this,_).split("\n")){var i=document.createElement("div");i.append(s?document.createTextNode(s):document.createElement("br")),this.editorDiv.append(i)}this.div.draggable=!0,this.editorDiv.contentEditable=!1}else this.div.draggable=!1,this.editorDiv.contentEditable=!0}return this.div}get contentDiv(){return this.editorDiv}static deserialize(t,e){e=super.deserialize(t,e);return u(e,S,t.fontSize),u(e,b,a.Util.makeHexColor(...t.color)),u(e,_,t.value),e}serialize(){var t,e;return this.isEmpty()?null:(t=k._internalPadding*this.parent.scaleFactor,t=this.getRect(t,t),e=i.AnnotationEditor._colorManager.convert(getComputedStyle(this.editorDiv).color),{annotationType:a.AnnotationEditorType.FREETEXT,color:e,fontSize:c(this,S),value:c(this,_),pageIndex:this.parent.pageIndex,rect:t,rotation:this.rotation})}}function P(t){const e=t=>{this.editorDiv.style.fontSize=`calc(${t}px * var(--scale-factor))`,this.translate(0,-(t-c(this,S))*this.parent.scaleFactor),u(this,S,t),d(this,C,F).call(this)},r=c(this,S);this.parent.addCommands({cmd:()=>{e(t)},undo:()=>{e(r)},mustExec:!0,type:a.AnnotationEditorParamsType.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}function T(t){const e=c(this,b);this.parent.addCommands({cmd:()=>{u(this,b,t),this.editorDiv.style.color=t},undo:()=>{u(this,b,e),this.editorDiv.style.color=e},mustExec:!0,type:a.AnnotationEditorParamsType.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}function M(){var t=this.editorDiv.getElementsByTagName("div");if(0===t.length)return this.editorDiv.innerText;var e=[];for(const a of t){var r=a.firstChild;"#text"===(null==r?void 0:r.nodeName)?e.push(r.data):e.push("")}return e.join("\n")}function F(){var[t,e]=this.parent.viewportBaseDimensions,r=this.div.getBoundingClientRect();this.width=r.width/t,this.height=r.height/e}o(e.FreeTextEditor=k,"_freeTextDefaultContent",""),o(k,"_l10nPromise",void 0),o(k,"_internalPadding",0),o(k,"_defaultColor",null),o(k,"_defaultFontSize",10),o(k,"_keyboardManager",new n.KeyboardManager([[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],k.prototype.commitOrRemove]])),o(k,"_type","freetext")},(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InkEditor=void 0,Object.defineProperty(t,"fitCurve",{enumerable:!0,get:function(){return N.fitCurve}});var v=e(1),a=e(135),N=e(154),j=e(136);function r(t,e){U(t,e),e.add(t)}function i(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}function s(t,e,r){U(t,e),e.set(t,r)}function U(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function W(t,e,r){if(t!==e)throw new TypeError("Private static access of wrong provenance");return r}function b(t,e,r){e=B(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function o(t,e){e=B(t,e,"get");return e.get?e.get.call(t):e.value}function B(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}function _(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}const y=16,G=100;var A=new WeakMap,S=new WeakMap,w=new WeakMap,n=new WeakMap,l=new WeakMap,h=new WeakMap,c=new WeakMap,x=new WeakMap,d=new WeakMap,u=new WeakMap,p=new WeakMap,E=new WeakMap,C=new WeakMap,f=new WeakMap,q=new WeakSet,H=new WeakSet,z=new WeakSet,V=new WeakSet,X=new WeakSet,Y=new WeakSet,K=new WeakSet,J=new WeakSet,g=new WeakSet,$=new WeakSet,m=new WeakSet,k=new WeakSet,P=new WeakSet,Q=new WeakSet,T=new WeakSet,Z=new WeakSet,tt=new WeakSet,et=new WeakSet,rt=new WeakSet,M=new WeakSet,F=new WeakSet,at=new WeakSet;class R extends a.AnnotationEditor{constructor(t){super({...t,name:"inkEditor"}),r(this,at),r(this,F),r(this,M),r(this,rt),r(this,et),r(this,tt),r(this,Z),r(this,T),r(this,Q),r(this,P),r(this,k),r(this,m),r(this,$),r(this,g),r(this,J),r(this,K),r(this,Y),r(this,X),r(this,V),r(this,z),r(this,H),r(this,q),s(this,A,{writable:!0,value:0}),s(this,S,{writable:!0,value:0}),s(this,w,{writable:!0,value:0}),s(this,n,{writable:!0,value:this.canvasPointermove.bind(this)}),s(this,l,{writable:!0,value:this.canvasPointerleave.bind(this)}),s(this,h,{writable:!0,value:this.canvasPointerup.bind(this)}),s(this,c,{writable:!0,value:this.canvasPointerdown.bind(this)}),s(this,x,{writable:!0,value:!1}),s(this,d,{writable:!0,value:!1}),s(this,u,{writable:!0,value:null}),s(this,p,{writable:!0,value:null}),s(this,E,{writable:!0,value:0}),s(this,C,{writable:!0,value:0}),s(this,f,{writable:!0,value:null}),this.color=t.color||null,this.thickness=t.thickness||null,this.opacity=t.opacity||null,this.paths=[],this.bezierPath2D=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0}static initialize(e){this._l10nPromise=new Map(["editor_ink_canvas_aria_label","editor_ink2_aria_label"].map(t=>[t,e.get(t)]))}static updateDefaultParams(t,e){switch(t){case v.AnnotationEditorParamsType.INK_THICKNESS:R._defaultThickness=e;break;case v.AnnotationEditorParamsType.INK_COLOR:R._defaultColor=e;break;case v.AnnotationEditorParamsType.INK_OPACITY:R._defaultOpacity=e/100}}updateParams(t,e){switch(t){case v.AnnotationEditorParamsType.INK_THICKNESS:_(this,q,it).call(this,e);break;case v.AnnotationEditorParamsType.INK_COLOR:_(this,H,st).call(this,e);break;case v.AnnotationEditorParamsType.INK_OPACITY:_(this,z,nt).call(this,e)}}static get defaultPropertiesToUpdate(){return[[v.AnnotationEditorParamsType.INK_THICKNESS,R._defaultThickness],[v.AnnotationEditorParamsType.INK_COLOR,R._defaultColor||a.AnnotationEditor._defaultLineColor],[v.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*R._defaultOpacity)]]}get propertiesToUpdate(){return[[v.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||R._defaultThickness],[v.AnnotationEditorParamsType.INK_COLOR,this.color||R._defaultColor||a.AnnotationEditor._defaultLineColor],[v.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??R._defaultOpacity))]]}rebuild(){super.rebuild(),null!==this.div&&(this.canvas||(_(this,m,pt).call(this),_(this,k,ft).call(this)),this.isAttachedToDOM||(this.parent.add(this),_(this,P,D).call(this)),_(this,F,I).call(this))}remove(){null!==this.canvas&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,o(this,p).disconnect(),b(this,p,null),super.remove())}enableEditMode(){o(this,x)||null===this.canvas||(super.enableEditMode(),this.div.draggable=!1,this.canvas.addEventListener("pointerdown",o(this,c)),this.canvas.addEventListener("pointerup",o(this,h)))}disableEditMode(){this.isInEditMode()&&null!==this.canvas&&(super.disableEditMode(),this.div.draggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",o(this,c)),this.canvas.removeEventListener("pointerup",o(this,h)))}onceAdded(){this.div.draggable=!this.isEmpty()}isEmpty(){return 0===this.paths.length||1===this.paths.length&&0===this.paths[0].length}commit(){o(this,x)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),b(this,x,!0),this.div.classList.add("disabled"),_(this,F,I).call(this,!0),this.parent.addInkEditorIfNeeded(!0),this.parent.moveEditorInDOM(this),this.div.focus())}focusin(t){super.focusin(t),this.enableEditMode()}canvasPointerdown(t){0===t.button&&this.isInEditMode()&&!o(this,x)&&(this.setInForeground(),"mouse"!==t.type&&this.div.focus(),t.stopPropagation(),this.canvas.addEventListener("pointerleave",o(this,l)),this.canvas.addEventListener("pointermove",o(this,n)),_(this,Y,ht).call(this,t.offsetX,t.offsetY))}canvasPointermove(t){t.stopPropagation(),_(this,K,ct).call(this,t.offsetX,t.offsetY)}canvasPointerup(t){0===t.button&&this.isInEditMode()&&0!==this.currentPath.length&&(t.stopPropagation(),_(this,$,ut).call(this,t),this.setInBackground())}canvasPointerleave(t){_(this,$,ut).call(this,t),this.setInBackground()}render(){if(!this.div){let t,e;this.width&&(t=this.x,e=this.y),super.render(),R._l10nPromise.get("editor_ink2_aria_label").then(t=>{var e;return null==(e=this.div)?void 0:e.setAttribute("aria-label",t)});var[r,a,i,s]=_(this,V,ot).call(this);this.setAt(r,a,0,0),this.setDims(i,s),_(this,m,pt).call(this),this.width?([r,a]=this.parent.viewportBaseDimensions,this.setAt(t*r,e*a,this.width*r,this.height*a),b(this,d,!0),_(this,P,D).call(this),this.setDims(this.width*r,this.height*a),_(this,g,O).call(this),_(this,at,wt).call(this),this.div.classList.add("disabled")):(this.div.classList.add("editing"),this.enableEditMode()),_(this,k,ft).call(this)}return this.div}setDimensions(t,e){var r=Math.round(t),a=Math.round(e);o(this,E)===r&&o(this,C)===a||(b(this,E,r),b(this,C,a),this.canvas.style.visibility="hidden",o(this,A)&&.01{this.thickness=t,_(this,F,I).call(this)},undo:()=>{this.thickness=e,_(this,F,I).call(this)},mustExec:!0,type:v.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})}function st(t){const e=this.color;this.parent.addCommands({cmd:()=>{this.color=t,_(this,g,O).call(this)},undo:()=>{this.color=e,_(this,g,O).call(this)},mustExec:!0,type:v.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})}function nt(t){t/=100;const e=this.opacity;this.parent.addCommands({cmd:()=>{this.opacity=t,_(this,g,O).call(this)},undo:()=>{this.opacity=e,_(this,g,O).call(this)},mustExec:!0,type:v.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}function ot(){var{width:t,height:e,rotation:r}=this.parent.viewport;switch(r){case 90:return[0,t,t,e];case 180:return[t,e,t,e];case 270:return[e,0,t,e];default:return[0,0,t,e]}}function lt(){this.ctx.lineWidth=this.thickness*this.parent.scaleFactor/this.scaleFactor,this.ctx.lineCap="round",this.ctx.lineJoin="round",this.ctx.miterLimit=10,this.ctx.strokeStyle=""+this.color+(0,j.opacityToHex)(this.opacity)}function ht(t,e){this.isEditing=!0,o(this,d)||(b(this,d,!0),_(this,P,D).call(this),this.thickness||(this.thickness=R._defaultThickness),this.color||(this.color=R._defaultColor||a.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=R._defaultOpacity)),this.currentPath.push([t,e]),b(this,u,null),_(this,X,lt).call(this),this.ctx.beginPath(),this.ctx.moveTo(t,e),b(this,f,()=>{o(this,f)&&(o(this,u)&&(this.isEmpty()?(this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height)):_(this,g,O).call(this),this.ctx.lineTo(...o(this,u)),b(this,u,null),this.ctx.stroke()),window.requestAnimationFrame(o(this,f)))}),window.requestAnimationFrame(o(this,f))}function ct(t,e){var[r,a]=this.currentPath.at(-1);t===r&&e===a||(this.currentPath.push([t,e]),b(this,u,[t,e]))}function dt(t,e){this.ctx.closePath(),b(this,f,null),t=Math.min(Math.max(t,0),this.canvas.width),e=Math.min(Math.max(e,0),this.canvas.height);var[r,a]=this.currentPath.at(-1);t===r&&e===a||this.currentPath.push([t,e]);let i;i=1!==this.currentPath.length?(0,N.fitCurve)(this.currentPath,30,null):[[r=[t,e],r.slice(),r.slice(),r]];const s=W(R,R,vt).call(R,i);this.currentPath.length=0;this.parent.addCommands({cmd:()=>{this.paths.push(i),this.bezierPath2D.push(s),this.rebuild()},undo:()=>{this.paths.pop(),this.bezierPath2D.pop(),0===this.paths.length?this.remove():(this.canvas||(_(this,m,pt).call(this),_(this,k,ft).call(this)),_(this,F,I).call(this))},mustExec:!0})}function O(){if(this.isEmpty())_(this,T,mt).call(this);else{_(this,X,lt).call(this);var{canvas:t,ctx:e}=this;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height),_(this,T,mt).call(this);for(const r of this.bezierPath2D)e.stroke(r)}}function ut(t){_(this,J,dt).call(this,t.offsetX,t.offsetY),this.canvas.removeEventListener("pointerleave",o(this,l)),this.canvas.removeEventListener("pointermove",o(this,n)),this.parent.addToAnnotationStorage(this)}function pt(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",R._l10nPromise.get("editor_ink_canvas_aria_label").then(t=>{var e;return null==(e=this.canvas)?void 0:e.setAttribute("aria-label",t)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")}function ft(){let e=null;b(this,p,new ResizeObserver(t=>{t=t[0].contentRect;t.width&&t.height&&(null!==e&&clearTimeout(e),e=setTimeout(()=>{this.fixDims(),e=null},G),this.setDimensions(t.width,t.height))})),o(this,p).observe(this.div)}function D(){var t,e;o(this,d)&&([t,e]=this.parent.viewportBaseDimensions,this.canvas.width=Math.ceil(this.width*t),this.canvas.height=Math.ceil(this.height*e),_(this,T,mt).call(this))}function gt(t,e){var r=_(this,M,St).call(this),t=(t-r)/o(this,w),e=(e-r)/o(this,S);this.scaleFactor=Math.min(t,e)}function mt(){var t=_(this,M,St).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+t,this.translationY*this.scaleFactor+t)}function vt(r){var a=new Path2D;for(let t=0,e=r.length;t{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fitCurve=void 0;r=r(155);e.fitCurve=r},t=>{"use strict";function A(t,e,r,a,i){var s,n,o,l,h,c,d,u,p,f,g,m,v,b,_;if(2===t.length)return f=w.vectorLen(w.subtract(t[0],t[1]))/3,[s=[t[0],w.addArrays(t[0],w.mulItems(e,f)),w.addArrays(t[1],w.mulItems(r,f)),t[1]]];if(_=[],t.forEach((t,e)=>{m=e?v+w.vectorLen(w.subtract(t,b)):0,_.push(m),v=m,b=t}),[s,l,c]=S(t,n=_=_.map(t=>t/v),n,e,r,i),0===l||l{return r=s,e=n[e],t=t,e=w.subtract(x.q(r,t),e),a=x.qprime(r,t),i=w.mulMatrix(e,a),0===(a=w.sum(w.squareItems(a))+2*w.mulMatrix(e,x.qprimeprime(r,t)))?t:t-i/a;var r,a,i})}(s,t,o),e,r,i),l0===t)&&(u=w.subtract(t[c-1],t[c]),[u[0],u[1]]=[-u[1],u[0]]),u=w.normalize(u),p=w.mulItems(u,-1),f=(f=f.concat(A(t.slice(0,c+1),e,u,a,i))).concat(A(t.slice(c),p,r,a,i))}function S(t,e,r,a,i,s){r=function(t,e,r,a){var i,s,n,o,l,h,c,d,u,p,f,g,m,v,b=t[0],_=t[t.length-1];for(i=[b,null,null,_],s=w.zeros_Xx2x2(e.length),p=0,f=e.length;pt/s)};function s(t,e){return w.normalize(w.subtract(t,e))}class w{static zeros_Xx2x2(t){for(var e=[];t--;)e.push([0,0]);return e}static mulItems(t,e){return t.map(t=>t*e)}static mulMatrix(t,a){return t.reduce((t,e,r)=>t+e*a[r],0)}static subtract(t,r){return t.map((t,e)=>t-r[e])}static addArrays(t,r){return t.map((t,e)=>t+r[e])}static addItems(t,e){return t.map(t=>t+e)}static sum(t){return t.reduce((t,e)=>t+e)}static dot(t,e){return w.mulMatrix(t,e)}static vectorLen(t){return Math.hypot(...t)}static divItems(t,e){return t.map(t=>t/e)}static squareItems(t){return t.map(t=>t*t)}static normalize(t){return this.divItems(t,this.vectorLen(t))}}class x{static q(t,e){var r=1-e,a=w.mulItems(t[0],r*r*r),i=w.mulItems(t[1],3*r*r*e),r=w.mulItems(t[2],3*r*e*e),t=w.mulItems(t[3],e*e*e);return w.addArrays(w.addArrays(a,i),w.addArrays(r,t))}static qprime(t,e){var r=1-e,a=w.mulItems(w.subtract(t[1],t[0]),3*r*r),r=w.mulItems(w.subtract(t[2],t[1]),6*r*e),t=w.mulItems(w.subtract(t[3],t[2]),3*e*e);return w.addArrays(w.addArrays(a,r),t)}static qprimeprime(t,e){return w.addArrays(w.mulItems(w.addArrays(w.subtract(t[2],w.mulItems(t[1],2)),t[0]),6*(1-e)),w.mulItems(w.addArrays(w.subtract(t[3],w.mulItems(t[2],2)),t[1]),6*e))}}t.exports=function(a,t,e){var r,i;if(Array.isArray(a))return a.forEach(t=>{if(!Array.isArray(t)||t.some(t=>"number"!=typeof t)||t.length!==a[0].length)throw Error("Each point should be an array of numbers. Each point should have the same amount of numbers.")}),(a=a.filter((t,r)=>0===r||!t.every((t,e)=>t===a[r-1][e]))).length<2?[]:(i=a.length,r=s(a[1],a[0]),i=s(a[i-2],a[i-1]),A(a,r,i,t,e));throw new TypeError("First argument should be an array")},t.exports.fitCubic=A,t.exports.createTangent=s},(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnnotationLayer=void 0;var _=e(1),c=e(137),d=e(134),a=e(157),n=e(158);function u(t,e,r){if(t!==e)throw new TypeError("Private static access of wrong provenance");return r}function r(t,e){var r=t;if(e.has(r))throw new TypeError("Cannot initialize the same private elements twice on an object");e.add(t)}const y=new WeakSet;function p(t){return{width:t[2]-t[0],height:t[3]-t[1]}}class f{static create(t){switch(t.data.annotationType){case _.AnnotationType.LINK:return new h(t);case _.AnnotationType.TEXT:return new m(t);case _.AnnotationType.WIDGET:switch(t.data.fieldType){case"Tx":return new b(t);case"Btn":return t.data.radioButton?new S(t):new(t.data.checkBox?A:w)(t);case"Ch":return new x(t)}return new v(t);case _.AnnotationType.POPUP:return new E(t);case _.AnnotationType.FREETEXT:return new k(t);case _.AnnotationType.LINE:return new P(t);case _.AnnotationType.SQUARE:return new T(t);case _.AnnotationType.CIRCLE:return new M(t);case _.AnnotationType.POLYLINE:return new F(t);case _.AnnotationType.CARET:return new j(t);case _.AnnotationType.INK:return new U(t);case _.AnnotationType.POLYGON:return new N(t);case _.AnnotationType.HIGHLIGHT:return new W(t);case _.AnnotationType.UNDERLINE:return new B(t);case _.AnnotationType.SQUIGGLY:return new G(t);case _.AnnotationType.STRIKEOUT:return new q(t);case _.AnnotationType.STAMP:return new H(t);case _.AnnotationType.FILEATTACHMENT:return new z(t);default:return new i(t)}}}class i{constructor(t){var{isRenderable:e=!1,ignoreBorder:r=!1,createQuadrilaterals:a=!1}=1{t=r.detail[t];r.target.style[e]=a.ColorConverters[t[0]+"_HTML"](t.slice(1))};return(0,_.shadow)(this,"_commonActions",{display:t=>{var e=t.detail.display%2==1;this.container.style.visibility=e?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{hidden:e,print:0===t.detail.display||3===t.detail.display})},print:t=>{this.annotationStorage.setValue(this.data.id,{print:t.detail.print})},hidden:t=>{this.container.style.visibility=t.detail.hidden?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{hidden:t.detail.hidden})},focus:t=>{setTimeout(()=>t.target.focus({preventScroll:!1}),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.detail.readonly?t.target.setAttribute("readonly",""):t.target.removeAttribute("readonly")},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:t=>{e("bgColor","backgroundColor",t)},fillColor:t=>{e("fillColor","backgroundColor",t)},fgColor:t=>{e("fgColor","color",t)},textColor:t=>{e("textColor","color",t)},borderColor:t=>{e("borderColor","borderColor",t)},strokeColor:t=>{e("strokeColor","borderColor",t)},rotation:t=>{t=t.detail.rotation;this.setRotation(t),this.annotationStorage.setValue(this.data.id,{rotation:t})}})}_dispatchEventFromSandbox(t,e){var r=this._commonActions;for(const i of Object.keys(e.detail)){var a=t[i]||r[i];null!=a&&a(e)}}_setDefaultPropertiesFromJS(t){if(this.enableScripting){var e=this.annotationStorage.getRawValue(this.data.id);if(e){var r,a,i=this._commonActions;for([r,a]of Object.entries(e)){var s=i[r];s&&(s({detail:{[r]:a},target:t}),delete e[r])}}}}_createQuadrilaterals(){var t=0{e=0===e?r:r.cloneNode();return t.append(e),t}):(this.container.className="linkAnnotation",a&&this.container.append(r),this.container)}_bindLink(t,e){t.href=this.linkService.getDestinationHash(e),t.onclick=()=>(e&&this.linkService.goToDestination(e),!1),!e&&""!==e||(t.className="internalLink")}_bindNamedAction(t,e){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(e),!1),t.className="internalLink"}_bindAttachment(t,e){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>{var t;return null!=(t=this.downloadManager)&&t.openOrDownloadData(this.container,e.content,e.filename),!1},t.className="internalLink"}_bindJSAction(t,e){t.href=this.linkService.getAnchorUrl("");var r=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const i of Object.keys(e.actions)){var a=r.get(i);a&&(t[a]=()=>{var t;return null!=(t=this.linkService.eventBus)&&t.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e.id,name:i}}),!1})}t.onclick||(t.onclick=()=>!1),t.className="internalLink"}_bindResetFormAction(t,v){const b=t.onclick;b||(t.href=this.linkService.getAnchorUrl("")),t.className="internalLink",this._fieldObjects?t.onclick=()=>{null!==b&&void 0!==b&&b();var{fields:t,refs:e,include:r}=v,a=[];if(0!==t.length||0!==e.length){var i,s=new Set(e);for(const u of t)for({id:i}of this._fieldObjects[u]||[])s.add(i);for(const p of Object.values(this._fieldObjects))for(const f of p)s.has(f.id)===r&&a.push(f)}else for(const g of Object.values(this._fieldObjects))a.push(...g);var n=this.annotationStorage,o=[];for(const m of a){var l=m["id"];switch(o.push(l),m.type){case"text":var h=m.defaultValue||"";n.setValue(l,{value:h});break;case"checkbox":case"radiobutton":h=m.defaultValue===m.exportValues;n.setValue(l,{value:h});break;case"combobox":case"listbox":var c=m.defaultValue||"";n.setValue(l,{value:c});break;default:continue}var d=document.querySelector(`[data-element-id="${l}"]`);d&&(y.has(d)?d.dispatchEvent(new Event("resetform")):(0,_.warn)("_bindResetFormAction - element not allowed: "+l))}return this.enableScripting&&null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:o,name:"ResetForm"}}),!1}:((0,_.warn)('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),b||(t.onclick=()=>!1))}}function g(t,e){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(e),!1),t.className="internalLink"}class m extends i{constructor(t){var e;super(t,{isRenderable:!!(t.data.hasPopup||null!=(e=t.data.titleObj)&&e.str||null!=(e=t.data.contentsObj)&&e.str||null!=(e=t.data.richText)&&e.str)})}render(){this.container.className="textAnnotation";var t=document.createElement("img");return t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",t.alt="[{{type}} Annotation]",t.dataset.l10nId="text_annotation_type",t.dataset.l10nArgs=JSON.stringify({type:this.data.name}),this.data.hasPopup||this._createPopup(t,this.data),this.container.append(t),this.container}}class v extends i{render(){return this.data.alternativeText&&(this.container.title=this.data.alternativeText),this.container}_getKeyModifier(t){var{isWin:e,isMac:r}=i.platform;return e&&t.ctrlKey||r&&t.metaKey}_setEventListener(t,e,r,a){e.includes("mouse")?t.addEventListener(e,t=>{var e;null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:r,value:a(t),shift:t.shiftKey,modifier:this._getKeyModifier(t)}})}):t.addEventListener(e,t=>{var e;null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:r,value:a(t)}})})}_setEventListeners(t,e,r){for(var[a,i]of e){var s;("Action"===i||null!=(s=this.data.actions)&&s[i])&&this._setEventListener(t,a,i,r)}}_setBackgroundColor(t){var e=this.data.backgroundColor||null;t.style.backgroundColor=null===e?"transparent":_.Util.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){var e=this.data.defaultAppearanceData["fontColor"],r=this.data.defaultAppearanceData.fontSize||9,t=t.style;let a;var i,s,n=t=>Math.round(10*t)/10;a=this.data.multiLine?(s=Math.abs(this.data.rect[3]-this.data.rect[1]-2),i=Math.round(s/(_.LINE_FACTOR*r))||1,Math.min(r,n(s/i/_.LINE_FACTOR))):(s=Math.abs(this.data.rect[3]-this.data.rect[1]-2),Math.min(r,n(s/_.LINE_FACTOR))),t.fontSize=`calc(${a}px * var(--scale-factor))`,t.color=_.Util.makeHexColor(e[0],e[1],e[2]),null!==this.data.textAlignment&&(t.textAlign=["left","center","right"][this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required"),t.setAttribute("aria-required",e)}}class b extends v{constructor(t){super(t,{isRenderable:t.renderForms||!t.data.hasAppearance&&!!t.data.fieldValue})}setPropertyOnSiblings(t,e,r,a){var i=this.annotationStorage;for(const s of this._getElementsByName(t.name,t.id))s.domElement&&(s.domElement[e]=r),i.setValue(s.id,{[a]:r})}render(){const a=this.annotationStorage,h=this.data.id;this.container.className="textWidgetAnnotation";let r=null;if(this.renderForms){var i=a.getValue(h,{value:this.data.fieldValue});let t=i.formattedValue||i.value||"";var s,i=a.getValue(h,{charLimit:this.data.maxLen}).charLimit;const n={userValue:t=i&&t.length>i?t.slice(0,i):t,formattedValue:null,valueOnFocus:""};this.data.multiLine?((r=document.createElement("textarea")).textContent=t,this.data.doNotScroll&&(r.style.overflowY="hidden")):((r=document.createElement("input")).type="text",r.setAttribute("value",t),this.data.doNotScroll&&(r.style.overflowX="hidden")),y.add(r),r.setAttribute("data-element-id",h),r.disabled=this.data.readOnly,r.name=this.data.fieldName,r.tabIndex=1e3,this._setRequired(r,this.data.required),i&&(r.maxLength=i),r.addEventListener("input",t=>{a.setValue(h,{value:t.target.value}),this.setPropertyOnSiblings(r,"value",t.target.value,"value")}),r.addEventListener("resetform",t=>{var e=this.data.defaultFieldValue??"";r.value=n.userValue=e,n.formattedValue=null});let e=t=>{var e=n["formattedValue"];null!=e&&(t.target.value=e),t.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){r.addEventListener("focus",t=>{n.userValue&&(t.target.value=n.userValue),n.valueOnFocus=t.target.value}),r.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({value(t){n.userValue=t.detail.value??"",a.setValue(h,{value:n.userValue.toString()}),t.target.value=n.userValue},formattedValue(t){var e=t.detail["formattedValue"];null!=(n.formattedValue=e)&&t.target!==document.activeElement&&(t.target.value=e),a.setValue(h,{formattedValue:e})},selRange(t){t.target.setSelectionRange(...t.detail.selRange)},charLimit:e=>{var r=e.detail["charLimit"],e=e["target"];if(0===r)e.removeAttribute("maxLength");else{e.setAttribute("maxLength",r);let t=n.userValue;!t||t.length<=r||(t=t.slice(0,r),e.value=n.userValue=t,a.setValue(h,{value:t}),null!=(r=this.linkService.eventBus)&&r.dispatch("dispatcheventinsandbox",{source:this,detail:{id:h,name:"Keystroke",value:t,willCommit:!0,commitKey:1,selStart:e.selectionStart,selEnd:e.selectionEnd}}))}}},t)}),r.addEventListener("keydown",t=>{var e,r;let a=-1;"Escape"===t.key?a=0:"Enter"!==t.key||this.data.multiLine?"Tab"===t.key&&(a=3):a=2,-1!==a&&(r=t.target.value,n.valueOnFocus!==r)&&(n.userValue=r,null!=(e=this.linkService.eventBus))&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:h,name:"Keystroke",value:r,willCommit:!0,commitKey:a,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}})});const o=e;e=null,r.addEventListener("blur",t=>{var e,r=t.target["value"];n.userValue=r,this._mouseState.isDown&&n.valueOnFocus!==r&&null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:h,name:"Keystroke",value:r,willCommit:!0,commitKey:1,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}}),o(t)}),null!=(s=this.data.actions)&&s.Keystroke&&r.addEventListener("beforeinput",t=>{var{data:e,target:r}=t,{value:a,selectionStart:i,selectionEnd:s}=r;let n=i,o=s;switch(t.inputType){case"deleteWordBackward":var l=a.substring(0,i).match(/\w*[^\w]*$/);l&&(n-=l[0].length);break;case"deleteWordForward":l=a.substring(i).match(/^[^\w]*\w*/);l&&(o+=l[0].length);break;case"deleteContentBackward":i===s&&--n;break;case"deleteContentForward":i===s&&(o+=1)}t.preventDefault(),null!=(r=this.linkService.eventBus)&&r.dispatch("dispatcheventinsandbox",{source:this,detail:{id:h,name:"Keystroke",value:a,change:e||"",willCommit:!1,selStart:n,selEnd:o}})}),this._setEventListeners(r,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.value)}e&&r.addEventListener("blur",e),this.data.comb&&(s=(this.data.rect[2]-this.data.rect[0])/i,r.classList.add("comb"),r.style.letterSpacing=`calc(${s}px * var(--scale-factor) - 1ch)`)}else(r=document.createElement("div")).textContent=this.data.fieldValue,r.style.verticalAlign="middle",r.style.display="table-cell";return this._setTextStyle(r),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class A extends v{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const i=this.annotationStorage,s=this.data,n=s.id;let t=i.getValue(n,{value:s.exportValue===s.fieldValue}).value;"string"==typeof t&&(t="Off"!==t,i.setValue(n,{value:t})),this.container.className="buttonWidgetAnnotation checkBox";var e=document.createElement("input");return y.add(e),e.setAttribute("data-element-id",n),e.disabled=s.readOnly,this._setRequired(e,this.data.required),e.type="checkbox",e.name=s.fieldName,t&&e.setAttribute("checked",!0),e.setAttribute("exportValue",s.exportValue),e.tabIndex=1e3,e.addEventListener("change",t=>{var{name:t,checked:e}=t.target;for(const a of this._getElementsByName(t,n)){var r=e&&a.exportValue===s.exportValue;a.domElement&&(a.domElement.checked=r),i.setValue(a.id,{value:r})}i.setValue(n,{value:e})}),e.addEventListener("resetform",t=>{var e=s.defaultFieldValue||"Off";t.target.checked=e===s.exportValue}),this.enableScripting&&this.hasJSActions&&(e.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({value(t){t.target.checked="Off"!==t.detail.value,i.setValue(n,{value:t.target.checked})}},t)}),this._setEventListeners(e,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.checked)),this._setBackgroundColor(e),this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class S extends v{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.className="buttonWidgetAnnotation radioButton";const i=this.annotationStorage,r=this.data,s=r.id;let t=i.getValue(s,{value:r.fieldValue===r.buttonValue}).value;"string"==typeof t&&(t=t!==r.buttonValue,i.setValue(s,{value:t}));var e=document.createElement("input");if(y.add(e),e.setAttribute("data-element-id",s),e.disabled=r.readOnly,this._setRequired(e,this.data.required),e.type="radio",e.name=r.fieldName,t&&e.setAttribute("checked",!0),e.tabIndex=1e3,e.addEventListener("change",t=>{var{name:t,checked:e}=t.target;for(const r of this._getElementsByName(t,s))i.setValue(r.id,{value:!1});i.setValue(s,{value:e})}),e.addEventListener("resetform",t=>{var e=r.defaultFieldValue;t.target.checked=null!=e&&e===r.buttonValue}),this.enableScripting&&this.hasJSActions){const n=r.buttonValue;e.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({value:t=>{var e=n===t.detail.value;for(const a of this._getElementsByName(t.target.name)){var r=e&&a.id===s;a.domElement&&(a.domElement.checked=r),i.setValue(a.id,{value:r})}}},t)}),this._setEventListeners(e,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.checked)}return this._setBackgroundColor(e),this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class w extends h{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){var t=super.render(),e=(t.className="buttonWidgetAnnotation pushButton",this.data.alternativeText&&(t.title=this.data.alternativeText),t.lastChild);return this.enableScripting&&this.hasJSActions&&e&&(this._setDefaultPropertiesFromJS(e),e.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({},t)})),t}}class x extends v{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.className="choiceWidgetAnnotation";const n=this.annotationStorage,o=this.data.id;var t=n.getValue(o,{value:this.data.fieldValue});const l=document.createElement("select");y.add(l),l.setAttribute("data-element-id",o),l.disabled=this.data.readOnly,this._setRequired(l,this.data.required),l.name=this.data.fieldName,l.tabIndex=1e3;let e=this.data.combo&&0{var e=this.data.defaultFieldValue;for(const r of l.options)r.selected=r.value===e});for(const a of this.data.options){var r=document.createElement("option");r.textContent=a.displayValue,r.value=a.exportValue,t.value.includes(a.exportValue)&&(r.setAttribute("selected",!0),e=!1),l.append(r)}let i=null;if(e){const s=document.createElement("option");s.value=" ",s.setAttribute("hidden",!0),s.setAttribute("selected",!0),l.prepend(s),i=()=>{s.remove(),l.removeEventListener("input",i),i=null},l.addEventListener("input",i)}const h=(t,e)=>{const r=e?"value":"textContent";e=t.target.options;return t.target.multiple?Array.prototype.filter.call(e,t=>t.selected).map(t=>t[r]):-1===e.selectedIndex?null:e[e.selectedIndex][r]},c=t=>{t=t.target.options;return Array.prototype.map.call(t,t=>({displayValue:t.textContent,exportValue:t.value}))};return this.enableScripting&&this.hasJSActions?(l.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({value(t){null!=(e=i)&&e();var e=t.detail.value,r=new Set(Array.isArray(e)?e:[e]);for(const a of l.options)a.selected=r.has(a.value);n.setValue(o,{value:h(t,!0)})},multipleSelection(t){l.multiple=!0},remove(t){var e=l.options,r=t.detail.remove;e[r].selected=!1,l.remove(r),0t.selected)&&(e[0].selected=!0),n.setValue(o,{value:h(t,!0),items:c(t)})},clear(t){for(;0!==l.length;)l.remove(0);n.setValue(o,{value:null,items:[]})},insert(t){var{index:e,displayValue:r,exportValue:a}=t.detail.insert,e=l.children[e],i=document.createElement("option");i.textContent=r,i.value=a,e?e.before(i):l.append(i),n.setValue(o,{value:h(t,!0),items:c(t)})},items(t){for(var e=t.detail["items"];0!==l.length;)l.remove(0);for(const s of e){var{displayValue:r,exportValue:a}=s,i=document.createElement("option");i.textContent=r,i.value=a,l.append(i)}0{var e,r=h(t,!0),t=h(t,!1);n.setValue(o,{value:r}),null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:o,name:"Keystroke",value:t,changeEx:r,willCommit:!0,commitKey:1,keyDown:!1}})}),this._setEventListeners(l,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"]],t=>t.target.checked)):l.addEventListener("input",function(t){n.setValue(o,{value:h(t,!0)})}),this.data.combo&&this._setTextStyle(l),this._setBackgroundColor(l),this._setDefaultPropertiesFromJS(l),this.container.append(l),this.container}}class E extends i{constructor(t){var e=t["data"];super(t,{isRenderable:!E.IGNORE_TYPES.has(e.parentType)&&!!(null!=(t=e.titleObj)&&t.str||null!=(t=e.contentsObj)&&t.str||null!=(t=e.richText)&&t.str)})}render(){this.container.className="popupAnnotation";var t,e,r,a,i,s,n=this.layer.querySelectorAll(`[data-annotation-id="${this.data.parentId}"]`);return 0!==n.length&&(n=new C({container:this.container,trigger:Array.from(n),color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText}),e=this.page,t=(e=_.Util.normalizeRect([this.data.parentRect[0],e.view[3]-this.data.parentRect[1]+e.view[1],this.data.parentRect[2],e.view[3]-this.data.parentRect[3]+e.view[1]]))[0]+this.data.parentRect[2]-this.data.parentRect[0],e=e[1],[r,a,i,s]=this.viewport.viewBox,s=s-a,this.container.style.left=100*(t-r)/(i-r)+"%",this.container.style.top=100*(e-a)/s+"%",this.container.append(n.render())),this.container}}e=E,s="IGNORE_TYPES",o=new Set(["Line","Square","Circle","PolyLine","Polygon","Ink"]),s in e?Object.defineProperty(e,s,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[s]=o;class C{constructor(t){this.container=t.container,this.trigger=t.trigger,this.color=t.color,this.titleObj=t.titleObj,this.modificationDate=t.modificationDate,this.contentsObj=t.contentsObj,this.richText=t.richText,this.hideWrapper=t.hideWrapper||!1,this.pinned=!1}render(){var t=document.createElement("div"),e=(t.className="popupWrapper",this.hideElement=this.hideWrapper?t:this.container,this.hideElement.hidden=!0,document.createElement("div")),r=(e.className="popup",this.color),a=(r&&(a=.7*(255-r[0])+r[0],i=.7*(255-r[1])+r[1],r=.7*(255-r[2])+r[2],e.style.backgroundColor=_.Util.makeHexColor(0|a,0|i,0|r)),document.createElement("h1")),i=(a.dir=this.titleObj.dir,a.textContent=this.titleObj.str,e.append(a),c.PDFDateString.toDateObject(this.modificationDate));i&&((r=document.createElement("span")).className="popupDate",r.textContent="{{date}}, {{time}}",r.dataset.l10nId="annotation_date_string",r.dataset.l10nArgs=JSON.stringify({date:i.toLocaleDateString(),time:i.toLocaleTimeString()}),e.append(r)),null==(a=this.richText)||!a.str||null!=(i=this.contentsObj)&&i.str&&this.contentsObj.str!==this.richText.str?(r=this._formatContents(this.contentsObj),e.append(r)):(n.XfaLayer.render({xfaHtml:this.richText.html,intent:"richText",div:e}),e.lastChild.className="richText popupContent"),Array.isArray(this.trigger)||(this.trigger=[this.trigger]);for(const s of this.trigger)s.addEventListener("click",this._toggle.bind(this)),s.addEventListener("mouseover",this._show.bind(this,!1)),s.addEventListener("mouseout",this._hide.bind(this,!1));return e.addEventListener("click",this._hide.bind(this,!0)),t.append(e),t}_formatContents(t){var{str:t,dir:e}=t,r=document.createElement("p"),a=(r.className="popupContent",r.dir=e,t.split(/(?:\r\n?|\n)/));for(let t=0,e=a.length;t{"use strict";function a(t){return Math.floor(255*Math.max(0,Math.min(1,t))).toString(16).padStart(2,"0")}Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConverters=void 0;e.ColorConverters=class{static CMYK_G(t){var[t,e,r,a]=t;return["G",1-Math.min(1,.3*t+.59*r+.11*e+a)]}static G_CMYK(t){var[t]=t;return["CMYK",0,0,0,1-t]}static G_RGB(t){var[t]=t;return["RGB",t,t,t]}static G_HTML(t){var[t]=t,t=a(t);return"#"+t+t+t}static RGB_G(t){var[t,e,r]=t;return["G",.3*t+.59*e+.11*r]}static RGB_HTML(t){var[t,e,r]=t;return"#"+a(t)+a(e)+a(r)}static T_HTML(){return"#00000000"}static CMYK_RGB(t){var[t,e,r,a]=t;return["RGB",1-Math.min(1,t+a),1-Math.min(1,r+a),1-Math.min(1,e+a)]}static CMYK_HTML(t){t=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(t)}static RGB_CMYK(t){var[t,e,r]=t,t=1-t,e=1-e,r=1-r;return["CMYK",t,e,r,Math.min(t,e,r)]}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.XfaLayer=void 0;var p=r(149);e.XfaLayer=class{static setupStorage(t,e,r,a,i){var s=a.getValue(e,{value:null});switch(r.name){case"textarea":null!==s.value&&(t.textContent=s.value),"print"!==i&&t.addEventListener("input",t=>{a.setValue(e,{value:t.target.value})});break;case"input":if("radio"===r.attributes.type||"checkbox"===r.attributes.type){if(s.value===r.attributes.xfaOn?t.setAttribute("checked",!0):s.value===r.attributes.xfaOff&&t.removeAttribute("checked"),"print"===i)break;t.addEventListener("change",t=>{a.setValue(e,{value:t.target.checked?t.target.getAttribute("xfaOn"):t.target.getAttribute("xfaOff")})})}else{if(null!==s.value&&t.setAttribute("value",s.value),"print"===i)break;t.addEventListener("input",t=>{a.setValue(e,{value:t.target.value})})}break;case"select":if(null!==s.value)for(const n of r.children)n.attributes.value===s.value&&(n.attributes.selected=!0);t.addEventListener("input",t=>{t=t.target.options,t=-1===t.selectedIndex?"":t[t.selectedIndex].value;a.setValue(e,{value:t})})}}static setAttributes(t){var e,r,{html:a,element:t,storage:i=null,intent:s,linkService:n}=t,o=t["attributes"],l=a instanceof HTMLAnchorElement;"radio"===o.type&&(o.name=o.name+"-"+s);for([e,r]of Object.entries(o))if(null!==r&&void 0!==r)switch(e){case"class":r.length&&a.setAttribute(e,r.join(" "));break;case"dataId":break;case"id":a.setAttribute("data-element-id",r);break;case"style":Object.assign(a.style,r);break;case"textContent":a.textContent=r;break;default:l&&("href"===e||"newWindow"===e)||a.setAttribute(e,r)}l&&n.addLinkAttributes(a,o.href,o.newWindow),i&&o.dataId&&this.setupStorage(a,o.dataId,t,i)}static render(t){for(var e=t.annotationStorage,r=t.linkService,a=t.xfaHtml,i=t.intent||"display",s=document.createElement(a.name),n=(a.attributes&&this.setAttributes({html:s,element:a,intent:i,linkService:r}),[[a,-1,s]]),a=t.div,o=(a.append(s),t.viewport&&(s=`matrix(${t.viewport.transform.join(",")})`,a.style.transform=s),"richText"!==i&&a.setAttribute("class","xfaLayer xfaFont"),[]);0{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextLayerRenderTask=void 0,e.renderTextLayer=function(t){var e=new a({textContent:t.textContent,textContentStream:t.textContentStream,container:t.container,viewport:t.viewport,textDivs:t.textDivs,textContentItemsStr:t.textContentItemsStr});return e._render(t.timeout),e};var u=r(1);const p=30,f=.8,g=new Map;function i(t,e,r,a){var i=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:""!==e.str,hasEOL:e.hasEOL,fontSize:0},n=(t._textDivs.push(i),u.Util.transform(t._viewport.transform,e.transform));let o=Math.atan2(n[1],n[0]);var r=r[e.fontName],l=(r.vertical&&(o+=Math.PI/2),Math.hypot(n[2],n[3])),a=l*function(t,e){var r=g.get(t);if(r)return r;e.save(),e.font=p+"px "+t;let a=(r=e.measureText("")).fontBoundingBoxAscent,i=Math.abs(r.fontBoundingBoxDescent);if(a)return e.restore(),r=a/(a+i),g.set(t,r),r;e.strokeStyle="red",e.clearRect(0,0,p,p),e.strokeText("g",0,0);let s=e.getImageData(0,0,p,p).data;i=0;for(let t=s.length-1-3;0<=t;t-=4)if(0{this._textDivProperties=null,this._layoutTextCtx&&(this._layoutTextCtx.canvas.width=0,this._layoutTextCtx.canvas.height=0,this._layoutTextCtx=null)}).catch(()=>{})}get promise(){return this._capability.promise}cancel(){this._canceled=!0,this._reader&&(this._reader.cancel(new u.AbortException("TextLayer task cancelled.")).catch(()=>{}),this._reader=null),null!==this._renderTimer&&(clearTimeout(this._renderTimer),this._renderTimer=null),this._capability.reject(new Error("TextLayer task cancelled."))}_processItems(t,e){for(const a of t){var r;void 0===a.str?"beginMarkedContentProps"===a.type||"beginMarkedContent"===a.type?(r=this._container,this._container=document.createElement("span"),this._container.classList.add("markedContent"),null!==a.id&&this._container.setAttribute("id",""+a.id),r.append(this._container)):"endMarkedContent"===a.type&&(this._container=this._container.parentNode):(this._textContentItemsStr.push(a.str),i(this,a,e,this._layoutTextCtx))}}_layoutText(t){var e,r,a=this._textDivProperties.get(t);let i="";0!==a.canvasWidth&&a.hasText&&(r=t.style["fontFamily"],e=a["fontSize"],e=(e===this._layoutTextLastFontSize&&r===this._layoutTextLastFontFamily||(this._layoutTextCtx.font=e*this._devicePixelRatio+"px "+r,this._layoutTextLastFontSize=e,this._layoutTextLastFontFamily=r),this._layoutTextCtx.measureText(t.textContent))["width"],0{this._reader.read().then(t=>{var{value:t,done:e}=t;e?r.resolve():(Object.assign(a,t.styles),this._processItems(t.items,a),s())},r.reject)};this._reader=this._textContentStream.getReader(),s()}}r.promise.then(()=>{a=null,t?this._renderTimer=setTimeout(()=>{n(this),this._renderTimer=null},t):n(this)},this._capability.reject)}}e.TextLayerRenderTask=a},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SVGGraphics=void 0;var i=r(137),A=r(1),v=r(3);e.SVGGraphics=class{constructor(){(0,A.unreachable)("Not implemented: SVGGraphics")}};{const x={fontStyle:"normal",fontWeight:"normal",fillColor:"#000000"},a=["butt","round","square"],n=["miter","round","bevel"],b=function(r){var t=1>6:64,o=t+2>2]+a[(3&s)<<4|n>>4]+a[l]+a[o]}return i},l=function(){const f=new Uint8Array([137,80,78,71,13,10,26,10]),n=new Int32Array(256);for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?3988292384^e>>1&2147483647:e>>1&2147483647;n[t]=e}function g(t,e,r,a){var i=a,s=e.length,s=(r[i]=s>>24&255,r[i+1]=s>>16&255,r[i+2]=s>>8&255,r[i+3]=255&s,r[i+=4]=255&t.charCodeAt(0),r[i+1]=255&t.charCodeAt(1),r[i+2]=255&t.charCodeAt(2),r[i+3]=255&t.charCodeAt(3),r.set(e,i+=4),function(e,r,a){let i=-1;for(let t=r;t>>8^s}return-1^i}(r,a+4,i+=e.length));r[i]=s>>24&255,r[i+1]=s>>16&255,r[i+2]=s>>8&255,r[i+3]=255&s}function m(t){let e=t.length;var r=65535,a=Math.ceil(e/r),i=new Uint8Array(2+e+5*a+4);let s=0,n=(i[s++]=120,i[s++]=156,0);for(;e>r;)i[s++]=0,i[s++]=255,i[s++]=255,i[s++]=0,i[s++]=0,i.set(t.subarray(n,n+r),s),s+=r,n+=r,e-=r;i[s++]=1,i[s++]=255&e,i[s++]=e>>8&255,i[s++]=255&~e,i[s++]=(65535&~e)>>8&255,i.set(t.subarray(n),s),s+=t.length-n;a=function(e,r,a){let i=1,s=0;for(let t=r;t>24&255,i[s++]=a>>16&255,i[s++]=a>>8&255,i[s++]=255&a,i}function a(t,e,r,a){var i=t.width,s=t.height;let n,o,l;var h=t.data;switch(e){case A.ImageKind.GRAYSCALE_1BPP:o=0,n=1,l=i+7>>3;break;case A.ImageKind.RGB_24BPP:o=2,n=8,l=3*i;break;case A.ImageKind.RGBA_32BPP:o=6,n=8,l=4*i;break;default:throw new Error("invalid format")}var c=new Uint8Array((1+l)*s);let d=0,u=0;for(let t=0;t>24&255,i>>16&255,i>>8&255,255&i,s>>24&255,s>>16&255,s>>8&255,255&s,n,o,0,0,0]),e=function(e){if(v.isNodeJS)try{let t;t=8<=parseInt(process.versions.node)?e:Buffer.from(e);var r=require("zlib").deflateSync(t,{level:9});return r instanceof Uint8Array?r:new Uint8Array(r)}catch(t){(0,A.warn)("Not compressing PNG because zlib.deflateSync is unavailable: "+t)}return m(e)}(c),a=f.length+36+t.length+e.length,a=new Uint8Array(a),p=0;return a.set(f,0),g("IHDR",t,a,p+=f.length),g("IDATA",e,a,p+=12+t.length),p+=12+e.length,g("IEND",new Uint8Array(0),a,p),b(a,"image/png",r)}return function(t,e,r){return a(t,void 0===t.kind?A.ImageKind.GRAYSCALE_1BPP:t.kind,e,r)}}();class h{constructor(){this.fontSizeScale=1,this.fontWeight=x.fontWeight,this.fontSize=0,this.textMatrix=A.IDENTITY_MATRIX,this.fontMatrix=A.FONT_IDENTITY_MATRIX,this.leading=0,this.textRenderingMode=A.TextRenderingMode.FILL,this.textMatrixScale=1,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRise=0,this.fillColor=x.fillColor,this.strokeColor="#000000",this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.lineJoin="",this.lineCap="",this.miterLimit=0,this.dashArray=[],this.dashPhase=0,this.dependencies=[],this.activeClipUrl=null,this.clipGroup=null,this.maskId=""}clone(){return Object.create(this)}setCurrentPoint(t,e){this.x=t,this.y=e}}function S(t){if(Number.isInteger(t))return t.toString();var e=t.toFixed(10);let r=e.length-1;if("0"!==e[r])return e;for(;"0"===e[--r];);return e.substring(0,"."===e[r]?r:r+1)}function w(t){if(0===t[4]&&0===t[5]){if(0===t[1]&&0===t[2])return 1===t[0]&&1===t[3]?"":`scale(${S(t[0])} ${S(t[3])})`;if(t[0]===t[3]&&t[1]===-t[2])return`rotate(${S(180*Math.acos(t[0])/Math.PI)})`}else if(1===t[0]&&0===t[1]&&0===t[2]&&1===t[3])return`translate(${S(t[4])} ${S(t[5])})`;return`matrix(${S(t[0])} ${S(t[1])} ${S(t[2])} ${S(t[3])} ${S(t[4])} `+S(t[5])+")"}let s=0,o=0,f=0;e.SVGGraphics=class{constructor(t,e){var r=2{n.get(s,t)});this.current.dependencies.push(i)}return Promise.all(this.current.dependencies)}transform(t,e,r,a,i,s){this.transformMatrix=A.Util.transform(this.transformMatrix,[t,e,r,a,i,s]),this.tgrp=null}getSVG(t,e){this.viewport=e;const r=this._initialize(e);return this.loadDependencies(t).then(()=>(this.transformMatrix=A.IDENTITY_MATRIX,this.executeOpTree(this.convertOpList(t)),r))}convertOpList(e){var r=this._operatorIdMapping,a=e.argsArray,i=e.fnArray,s=[];for(let t=0,e=i.length;t{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PDFNodeStream=void 0;var s=r(1),i=r(162);const n=require("fs"),o=require("http"),l=require("https"),a=require("url"),h=/^file:\/\/\/[a-zA-Z]:\//;e.PDFNodeStream=class{constructor(t){this.source=t,this.url=function(t){var e=a.parse(t);if("file:"!==e.protocol&&!e.host){if(/^[a-z]:[/\\]/i.test(t))return a.parse("file:///"+t);e.host||(e.protocol="file:")}return e}(t.url),this.isHttp="http:"===this.url.protocol||"https:"===this.url.protocol,this.isFsUrl="file:"===this.url.protocol,this.httpHeaders=this.isHttp&&t.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var t;return(null==(t=this._fullRequestReader)?void 0:t._loaded)??0}getFullReader(){return(0,s.assert)(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=new(this.isFsUrl?g:p)(this),this._fullRequestReader}getRangeReader(t,e){return e<=this._progressiveDataLength?null:(t=new(this.isFsUrl?m:f)(this,t,e),this._rangeRequestReaders.push(t),t)}cancelAllRequests(t){var e;null!=(e=this._fullRequestReader)&&e.cancel(t);for(const r of this._rangeRequestReaders.slice(0))r.cancel(t)}};class c{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null;t=t.source;this._contentLength=t.length,this._loaded=0,this._filename=null,this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._readableStream=null,this._readCapability=(0,s.createPromiseCapability)(),this._headersCapability=(0,s.createPromiseCapability)()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var t;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;var e=this._readableStream.read();return null===e?(this._readCapability=(0,s.createPromiseCapability)(),this.read()):(this._loaded+=e.length,null!=(t=this.onProgress)&&t.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(e).buffer,done:!1})}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){(this._readableStream=t).on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",t=>{this._error(t)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new s.AbortException("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class d{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=(0,s.createPromiseCapability)();t=t.source;this._isStreamingSupported=!t.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var t;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;var e=this._readableStream.read();return null===e?(this._readCapability=(0,s.createPromiseCapability)(),this.read()):(this._loaded+=e.length,null!=(t=this.onProgress)&&t.call(this,{loaded:this._loaded}),{value:new Uint8Array(e).buffer,done:!1})}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){(this._readableStream=t).on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",t=>{this._error(t)}),this._storedError&&this._readableStream.destroy(this._storedError)}}function u(t,e){return{protocol:t.protocol,auth:t.auth,host:t.hostname,port:t.port,path:t.path,method:"GET",headers:e}}class p extends c{constructor(a){super(a);var t=t=>{var e,r;404===t.statusCode?(e=new s.MissingPDFException(`Missing PDF "${this._url}".`),this._storedError=e,this._headersCapability.reject(e)):(this._headersCapability.resolve(),this._setReadableStream(t),{allowRangeRequests:t,suggestedLength:r}=(0,i.validateRangeRequestCapabilities)({getResponseHeader:e=t=>this._readableStream.headers[t.toLowerCase()],isHttp:a.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange}),this._isRangeSupported=t,this._contentLength=r||this._contentLength,this._filename=(0,i.extractFilenameFromHeader)(e))};this._request=null,"http:"===this._url.protocol?this._request=o.request(u(this._url,a.httpHeaders),t):this._request=l.request(u(this._url,a.httpHeaders),t),this._request.on("error",t=>{this._storedError=t,this._headersCapability.reject(t)}),this._request.end()}}class f extends d{constructor(t,e,r){super(t),this._httpHeaders={};for(const i in t.httpHeaders){var a=t.httpHeaders[i];void 0!==a&&(this._httpHeaders[i]=a)}this._httpHeaders.Range=`bytes=${e}-`+(r-1);e=t=>{var e;404===t.statusCode?(e=new s.MissingPDFException(`Missing PDF "${this._url}".`),this._storedError=e):this._setReadableStream(t)};this._request=null,"http:"===this._url.protocol?this._request=o.request(u(this._url,this._httpHeaders),e):this._request=l.request(u(this._url,this._httpHeaders),e),this._request.on("error",t=>{this._storedError=t}),this._request.end()}}class g extends c{constructor(t){super(t);let r=decodeURIComponent(this._url.path);h.test(this._url.href)&&(r=r.replace(/^\//,"")),n.lstat(r,(t,e)=>{t?("ENOENT"===t.code&&(t=new s.MissingPDFException(`Missing PDF "${r}".`)),this._storedError=t,this._headersCapability.reject(t)):(this._contentLength=e.size,this._setReadableStream(n.createReadStream(r)),this._headersCapability.resolve())})}}class m extends d{constructor(t,e,r){super(t);let a=decodeURIComponent(this._url.path);h.test(this._url.href)&&(a=a.replace(/^\//,"")),this._setReadableStream(n.createReadStream(a,{start:e,end:r-1}))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createResponseStatusError=function(t,e){if(404===t||0===t&&e.startsWith("file:"))return new a.MissingPDFException('Missing PDF "'+e+'".');return new a.UnexpectedResponseException(`Unexpected server response (${t}) while retrieving PDF "${e}".`,t)},e.extractFilenameFromHeader=function(e){e=e("Content-Disposition");if(e){let t=(0,i.getFilenameFromContentDispositionHeader)(e);if(t.includes("%"))try{t=decodeURIComponent(t)}catch(t){}if((0,s.isPdfFile)(t))return t}return null},e.validateRangeRequestCapabilities=function(t){var{getResponseHeader:t,isHttp:e,rangeChunkSize:r,disableRange:a}=t;var i={allowRangeRequests:!1,suggestedLength:void 0},s=parseInt(t("Content-Length"),10);return!Number.isInteger(s)||(i.suggestedLength=s)<=2*r||!a&&e&&"bytes"===t("Accept-Ranges")&&"identity"===(t("Content-Encoding")||"identity")&&(i.allowRangeRequests=!0),i},e.validateResponseStatus=function(t){return 200===t||206===t};var a=r(1),i=r(163),s=r(137)},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getFilenameFromContentDispositionHeader=function(t){let i=!0,e=o("filename\\*","i").exec(t);{var r;if(e)return r=l(e=e[1]),a(r=n(r=h(r=unescape(r))))}if(e=function(t){var a=[];var e=o("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(r=e.exec(t));){var[,r,i,s]=r;if((r=parseInt(r,10))in a){if(0===r)break}else a[r]=[i,s]}var n=[];for(let r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PDFNetworkStream=void 0;var s=r(1),n=r(162);class a{constructor(t){var e=1e.getResponseHeader(t),{allowRangeRequests:a,suggestedLength:i}=(0,n.validateRangeRequestCapabilities)({getResponseHeader:r,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});a&&(this._isRangeSupported=!0),this._contentLength=i||this._contentLength,this._filename=(0,n.extractFilenameFromHeader)(r),this._isRangeSupported&&this._manager.abortRequest(t),this._headersReceivedCapability.resolve()}_onDone(t){if(t&&(0{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PDFFetchStream=void 0;var s=r(1),n=r(162);function o(t,e,r){return{method:"GET",headers:t,signal:r.signal,mode:"cors",credentials:e?"include":"same-origin",redirect:"follow"}}function l(t){var e=new Headers;for(const a in t){var r=t[a];void 0!==r&&e.append(a,r)}return e}e.PDFFetchStream=class{constructor(t){this.source=t,this.isHttp=/^https?:/i.test(t.url),this.httpHeaders=this.isHttp&&t.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var t;return(null==(t=this._fullRequestReader)?void 0:t._loaded)??0}getFullReader(){return(0,s.assert)(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new a(this),this._fullRequestReader}getRangeReader(t,e){return e<=this._progressiveDataLength?null:(t=new i(this,t,e),this._rangeRequestReaders.push(t),t)}cancelAllRequests(t){var e;null!=(e=this._fullRequestReader)&&e.cancel(t);for(const r of this._rangeRequestReaders.slice(0))r.cancel(t)}};class a{constructor(t){this._stream=t,this._reader=null,this._loaded=0,this._filename=null;t=t.source;this._withCredentials=t.withCredentials||!1,this._contentLength=t.length,this._headersCapability=(0,s.createPromiseCapability)(),this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._headers=l(this._stream.httpHeaders);const i=t.url;fetch(i,o(this._headers,this._withCredentials,this._abortController)).then(e=>{if(!(0,n.validateResponseStatus)(e.status))throw(0,n.createResponseStatusError)(e.status,i);this._reader=e.body.getReader(),this._headersCapability.resolve();var t=t=>e.headers.get(t),{allowRangeRequests:r,suggestedLength:a}=(0,n.validateRangeRequestCapabilities)({getResponseHeader:t,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=r,this._contentLength=a||this._contentLength,this._filename=(0,n.extractFilenameFromHeader)(t),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new s.AbortException("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._headersCapability.promise;var{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,null!=(e=this.onProgress)&&e.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){var e;null!=(e=this._reader)&&e.cancel(t),this._abortController.abort()}}class i{constructor(t,e,r){this._stream=t,this._reader=null,this._loaded=0;t=t.source;this._withCredentials=t.withCredentials||!1,this._readCapability=(0,s.createPromiseCapability)(),this._isStreamingSupported=!t.disableStream,this._abortController=new AbortController,this._headers=l(this._stream.httpHeaders),this._headers.append("Range",`bytes=${e}-`+(r-1));const a=t.url;fetch(a,o(this._headers,this._withCredentials,this._abortController)).then(t=>{if(!(0,n.validateResponseStatus)(t.status))throw(0,n.createResponseStatusError)(t.status,a);this._readCapability.resolve(),this._reader=t.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;var{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,null!=(e=this.onProgress)&&e.call(this,{loaded:this._loaded}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){var e;null!=(e=this._reader)&&e.cancel(t),this._abortController.abort()}}}],__webpack_module_cache__={};function __w_pdfjs_require__(t){var e=__webpack_module_cache__[t];return void 0!==e||(e=__webpack_module_cache__[t]={exports:{}},__webpack_modules__[t](e,e.exports,__w_pdfjs_require__)),e.exports}var __webpack_exports__={};return(()=>{"use strict";var t=__webpack_exports__,e=(Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AnnotationEditorLayer",{enumerable:!0,get:function(){return i.AnnotationEditorLayer}}),Object.defineProperty(t,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return e.AnnotationEditorParamsType}}),Object.defineProperty(t,"AnnotationEditorType",{enumerable:!0,get:function(){return e.AnnotationEditorType}}),Object.defineProperty(t,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return s.AnnotationEditorUIManager}}),Object.defineProperty(t,"AnnotationLayer",{enumerable:!0,get:function(){return n.AnnotationLayer}}),Object.defineProperty(t,"AnnotationMode",{enumerable:!0,get:function(){return e.AnnotationMode}}),Object.defineProperty(t,"CMapCompressionType",{enumerable:!0,get:function(){return e.CMapCompressionType}}),Object.defineProperty(t,"GlobalWorkerOptions",{enumerable:!0,get:function(){return o.GlobalWorkerOptions}}),Object.defineProperty(t,"InvalidPDFException",{enumerable:!0,get:function(){return e.InvalidPDFException}}),Object.defineProperty(t,"MissingPDFException",{enumerable:!0,get:function(){return e.MissingPDFException}}),Object.defineProperty(t,"OPS",{enumerable:!0,get:function(){return e.OPS}}),Object.defineProperty(t,"PDFDataRangeTransport",{enumerable:!0,get:function(){return r.PDFDataRangeTransport}}),Object.defineProperty(t,"PDFDateString",{enumerable:!0,get:function(){return a.PDFDateString}}),Object.defineProperty(t,"PDFWorker",{enumerable:!0,get:function(){return r.PDFWorker}}),Object.defineProperty(t,"PasswordResponses",{enumerable:!0,get:function(){return e.PasswordResponses}}),Object.defineProperty(t,"PermissionFlag",{enumerable:!0,get:function(){return e.PermissionFlag}}),Object.defineProperty(t,"PixelsPerInch",{enumerable:!0,get:function(){return a.PixelsPerInch}}),Object.defineProperty(t,"RenderingCancelledException",{enumerable:!0,get:function(){return a.RenderingCancelledException}}),Object.defineProperty(t,"SVGGraphics",{enumerable:!0,get:function(){return h.SVGGraphics}}),Object.defineProperty(t,"UNSUPPORTED_FEATURES",{enumerable:!0,get:function(){return e.UNSUPPORTED_FEATURES}}),Object.defineProperty(t,"UnexpectedResponseException",{enumerable:!0,get:function(){return e.UnexpectedResponseException}}),Object.defineProperty(t,"Util",{enumerable:!0,get:function(){return e.Util}}),Object.defineProperty(t,"VerbosityLevel",{enumerable:!0,get:function(){return e.VerbosityLevel}}),Object.defineProperty(t,"XfaLayer",{enumerable:!0,get:function(){return c.XfaLayer}}),Object.defineProperty(t,"build",{enumerable:!0,get:function(){return r.build}}),Object.defineProperty(t,"createPromiseCapability",{enumerable:!0,get:function(){return e.createPromiseCapability}}),Object.defineProperty(t,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return e.createValidAbsoluteUrl}}),Object.defineProperty(t,"getDocument",{enumerable:!0,get:function(){return r.getDocument}}),Object.defineProperty(t,"getFilenameFromUrl",{enumerable:!0,get:function(){return a.getFilenameFromUrl}}),Object.defineProperty(t,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return a.getPdfFilenameFromUrl}}),Object.defineProperty(t,"getXfaPageViewport",{enumerable:!0,get:function(){return a.getXfaPageViewport}}),Object.defineProperty(t,"isPdfFile",{enumerable:!0,get:function(){return a.isPdfFile}}),Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return a.loadScript}}),Object.defineProperty(t,"renderTextLayer",{enumerable:!0,get:function(){return l.renderTextLayer}}),Object.defineProperty(t,"shadow",{enumerable:!0,get:function(){return e.shadow}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return r.version}}),__w_pdfjs_require__(1)),r=__w_pdfjs_require__(133),a=__w_pdfjs_require__(137),i=__w_pdfjs_require__(151),s=__w_pdfjs_require__(136),n=__w_pdfjs_require__(156),o=__w_pdfjs_require__(144),t=__w_pdfjs_require__(3),l=__w_pdfjs_require__(159),h=__w_pdfjs_require__(160),c=__w_pdfjs_require__(158);if(t.isNodeJS){const d=__w_pdfjs_require__(161)["PDFNodeStream"];(0,r.setPDFNetworkStreamFactory)(t=>new d(t))}else{const u=__w_pdfjs_require__(164)["PDFNetworkStream"],p=__w_pdfjs_require__(165)["PDFFetchStream"];(0,r.setPDFNetworkStreamFactory)(t=>new((0,a.isValidFetchUrl)(t.url)?p:u)(t))}})(),__webpack_exports__})()); \ No newline at end of file + +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = root.pdfjsLib = factory(); + else if(typeof define === 'function' && define.amd) + define("pdfjs-dist/build/pdf", [], () => { return (root.pdfjsLib = factory()); }); + else if(typeof exports === 'object') + exports["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); + else + root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); +})(globalThis, () => { +return /******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0; +exports.assert = assert; +exports.bytesToString = bytesToString; +exports.createValidAbsoluteUrl = createValidAbsoluteUrl; +exports.getModificationDate = getModificationDate; +exports.getUuid = getUuid; +exports.getVerbosityLevel = getVerbosityLevel; +exports.info = info; +exports.isArrayBuffer = isArrayBuffer; +exports.isArrayEqual = isArrayEqual; +exports.isNodeJS = void 0; +exports.normalizeUnicode = normalizeUnicode; +exports.objectFromMap = objectFromMap; +exports.objectSize = objectSize; +exports.setVerbosityLevel = setVerbosityLevel; +exports.shadow = shadow; +exports.string32 = string32; +exports.stringToBytes = stringToBytes; +exports.stringToPDFString = stringToPDFString; +exports.stringToUTF8String = stringToUTF8String; +exports.unreachable = unreachable; +exports.utf8StringToString = utf8StringToString; +exports.warn = warn; +__w_pdfjs_require__(2); +__w_pdfjs_require__(84); +__w_pdfjs_require__(86); +__w_pdfjs_require__(87); +__w_pdfjs_require__(89); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +const isNodeJS = typeof process === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser"); +exports.isNodeJS = isNodeJS; +const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0]; +exports.IDENTITY_MATRIX = IDENTITY_MATRIX; +const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0]; +exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; +const MAX_IMAGE_SIZE_TO_CACHE = 10e6; +exports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE; +const LINE_FACTOR = 1.35; +exports.LINE_FACTOR = LINE_FACTOR; +const LINE_DESCENT_FACTOR = 0.35; +exports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR; +const BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR; +exports.BASELINE_FACTOR = BASELINE_FACTOR; +const RenderingIntentFlag = { + ANY: 0x01, + DISPLAY: 0x02, + PRINT: 0x04, + SAVE: 0x08, + ANNOTATIONS_FORMS: 0x10, + ANNOTATIONS_STORAGE: 0x20, + ANNOTATIONS_DISABLE: 0x40, + OPLIST: 0x100 +}; +exports.RenderingIntentFlag = RenderingIntentFlag; +const AnnotationMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_FORMS: 2, + ENABLE_STORAGE: 3 +}; +exports.AnnotationMode = AnnotationMode; +const AnnotationEditorPrefix = "pdfjs_internal_editor_"; +exports.AnnotationEditorPrefix = AnnotationEditorPrefix; +const AnnotationEditorType = { + DISABLE: -1, + NONE: 0, + FREETEXT: 3, + STAMP: 13, + INK: 15 +}; +exports.AnnotationEditorType = AnnotationEditorType; +const AnnotationEditorParamsType = { + RESIZE: 1, + CREATE: 2, + FREETEXT_SIZE: 11, + FREETEXT_COLOR: 12, + FREETEXT_OPACITY: 13, + INK_COLOR: 21, + INK_THICKNESS: 22, + INK_OPACITY: 23 +}; +exports.AnnotationEditorParamsType = AnnotationEditorParamsType; +const PermissionFlag = { + PRINT: 0x04, + MODIFY_CONTENTS: 0x08, + COPY: 0x10, + MODIFY_ANNOTATIONS: 0x20, + FILL_INTERACTIVE_FORMS: 0x100, + COPY_FOR_ACCESSIBILITY: 0x200, + ASSEMBLE: 0x400, + PRINT_HIGH_QUALITY: 0x800 +}; +exports.PermissionFlag = PermissionFlag; +const TextRenderingMode = { + FILL: 0, + STROKE: 1, + FILL_STROKE: 2, + INVISIBLE: 3, + FILL_ADD_TO_PATH: 4, + STROKE_ADD_TO_PATH: 5, + FILL_STROKE_ADD_TO_PATH: 6, + ADD_TO_PATH: 7, + FILL_STROKE_MASK: 3, + ADD_TO_PATH_FLAG: 4 +}; +exports.TextRenderingMode = TextRenderingMode; +const ImageKind = { + GRAYSCALE_1BPP: 1, + RGB_24BPP: 2, + RGBA_32BPP: 3 +}; +exports.ImageKind = ImageKind; +const AnnotationType = { + TEXT: 1, + LINK: 2, + FREETEXT: 3, + LINE: 4, + SQUARE: 5, + CIRCLE: 6, + POLYGON: 7, + POLYLINE: 8, + HIGHLIGHT: 9, + UNDERLINE: 10, + SQUIGGLY: 11, + STRIKEOUT: 12, + STAMP: 13, + CARET: 14, + INK: 15, + POPUP: 16, + FILEATTACHMENT: 17, + SOUND: 18, + MOVIE: 19, + WIDGET: 20, + SCREEN: 21, + PRINTERMARK: 22, + TRAPNET: 23, + WATERMARK: 24, + THREED: 25, + REDACT: 26 +}; +exports.AnnotationType = AnnotationType; +const AnnotationReplyType = { + GROUP: "Group", + REPLY: "R" +}; +exports.AnnotationReplyType = AnnotationReplyType; +const AnnotationFlag = { + INVISIBLE: 0x01, + HIDDEN: 0x02, + PRINT: 0x04, + NOZOOM: 0x08, + NOROTATE: 0x10, + NOVIEW: 0x20, + READONLY: 0x40, + LOCKED: 0x80, + TOGGLENOVIEW: 0x100, + LOCKEDCONTENTS: 0x200 +}; +exports.AnnotationFlag = AnnotationFlag; +const AnnotationFieldFlag = { + READONLY: 0x0000001, + REQUIRED: 0x0000002, + NOEXPORT: 0x0000004, + MULTILINE: 0x0001000, + PASSWORD: 0x0002000, + NOTOGGLETOOFF: 0x0004000, + RADIO: 0x0008000, + PUSHBUTTON: 0x0010000, + COMBO: 0x0020000, + EDIT: 0x0040000, + SORT: 0x0080000, + FILESELECT: 0x0100000, + MULTISELECT: 0x0200000, + DONOTSPELLCHECK: 0x0400000, + DONOTSCROLL: 0x0800000, + COMB: 0x1000000, + RICHTEXT: 0x2000000, + RADIOSINUNISON: 0x2000000, + COMMITONSELCHANGE: 0x4000000 +}; +exports.AnnotationFieldFlag = AnnotationFieldFlag; +const AnnotationBorderStyleType = { + SOLID: 1, + DASHED: 2, + BEVELED: 3, + INSET: 4, + UNDERLINE: 5 +}; +exports.AnnotationBorderStyleType = AnnotationBorderStyleType; +const AnnotationActionEventType = { + E: "Mouse Enter", + X: "Mouse Exit", + D: "Mouse Down", + U: "Mouse Up", + Fo: "Focus", + Bl: "Blur", + PO: "PageOpen", + PC: "PageClose", + PV: "PageVisible", + PI: "PageInvisible", + K: "Keystroke", + F: "Format", + V: "Validate", + C: "Calculate" +}; +exports.AnnotationActionEventType = AnnotationActionEventType; +const DocumentActionEventType = { + WC: "WillClose", + WS: "WillSave", + DS: "DidSave", + WP: "WillPrint", + DP: "DidPrint" +}; +exports.DocumentActionEventType = DocumentActionEventType; +const PageActionEventType = { + O: "PageOpen", + C: "PageClose" +}; +exports.PageActionEventType = PageActionEventType; +const VerbosityLevel = { + ERRORS: 0, + WARNINGS: 1, + INFOS: 5 +}; +exports.VerbosityLevel = VerbosityLevel; +const CMapCompressionType = { + NONE: 0, + BINARY: 1 +}; +exports.CMapCompressionType = CMapCompressionType; +const OPS = { + dependency: 1, + setLineWidth: 2, + setLineCap: 3, + setLineJoin: 4, + setMiterLimit: 5, + setDash: 6, + setRenderingIntent: 7, + setFlatness: 8, + setGState: 9, + save: 10, + restore: 11, + transform: 12, + moveTo: 13, + lineTo: 14, + curveTo: 15, + curveTo2: 16, + curveTo3: 17, + closePath: 18, + rectangle: 19, + stroke: 20, + closeStroke: 21, + fill: 22, + eoFill: 23, + fillStroke: 24, + eoFillStroke: 25, + closeFillStroke: 26, + closeEOFillStroke: 27, + endPath: 28, + clip: 29, + eoClip: 30, + beginText: 31, + endText: 32, + setCharSpacing: 33, + setWordSpacing: 34, + setHScale: 35, + setLeading: 36, + setFont: 37, + setTextRenderingMode: 38, + setTextRise: 39, + moveText: 40, + setLeadingMoveText: 41, + setTextMatrix: 42, + nextLine: 43, + showText: 44, + showSpacedText: 45, + nextLineShowText: 46, + nextLineSetSpacingShowText: 47, + setCharWidth: 48, + setCharWidthAndBounds: 49, + setStrokeColorSpace: 50, + setFillColorSpace: 51, + setStrokeColor: 52, + setStrokeColorN: 53, + setFillColor: 54, + setFillColorN: 55, + setStrokeGray: 56, + setFillGray: 57, + setStrokeRGBColor: 58, + setFillRGBColor: 59, + setStrokeCMYKColor: 60, + setFillCMYKColor: 61, + shadingFill: 62, + beginInlineImage: 63, + beginImageData: 64, + endInlineImage: 65, + paintXObject: 66, + markPoint: 67, + markPointProps: 68, + beginMarkedContent: 69, + beginMarkedContentProps: 70, + endMarkedContent: 71, + beginCompat: 72, + endCompat: 73, + paintFormXObjectBegin: 74, + paintFormXObjectEnd: 75, + beginGroup: 76, + endGroup: 77, + beginAnnotation: 80, + endAnnotation: 81, + paintImageMaskXObject: 83, + paintImageMaskXObjectGroup: 84, + paintImageXObject: 85, + paintInlineImageXObject: 86, + paintInlineImageXObjectGroup: 87, + paintImageXObjectRepeat: 88, + paintImageMaskXObjectRepeat: 89, + paintSolidColorImageMask: 90, + constructPath: 91 +}; +exports.OPS = OPS; +const PasswordResponses = { + NEED_PASSWORD: 1, + INCORRECT_PASSWORD: 2 +}; +exports.PasswordResponses = PasswordResponses; +let verbosity = VerbosityLevel.WARNINGS; +function setVerbosityLevel(level) { + if (Number.isInteger(level)) { + verbosity = level; + } +} +function getVerbosityLevel() { + return verbosity; +} +function info(msg) { + if (verbosity >= VerbosityLevel.INFOS) { + console.log(`Info: ${msg}`); + } +} +function warn(msg) { + if (verbosity >= VerbosityLevel.WARNINGS) { + console.log(`Warning: ${msg}`); + } +} +function unreachable(msg) { + throw new Error(msg); +} +function assert(cond, msg) { + if (!cond) { + unreachable(msg); + } +} +function _isValidProtocol(url) { + switch (url?.protocol) { + case "http:": + case "https:": + case "ftp:": + case "mailto:": + case "tel:": + return true; + default: + return false; + } +} +function createValidAbsoluteUrl(url) { + let baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + if (!url) { + return null; + } + try { + if (options && typeof url === "string") { + if (options.addDefaultProtocol && url.startsWith("www.")) { + const dots = url.match(/\./g); + if (dots?.length >= 2) { + url = `http://${url}`; + } + } + if (options.tryConvertEncoding) { + try { + url = stringToUTF8String(url); + } catch {} + } + } + const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); + if (_isValidProtocol(absoluteUrl)) { + return absoluteUrl; + } + } catch {} + return null; +} +function shadow(obj, prop, value) { + let nonSerializable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + Object.defineProperty(obj, prop, { + value, + enumerable: !nonSerializable, + configurable: true, + writable: false + }); + return value; +} +const BaseException = function BaseExceptionClosure() { + function BaseException(message, name) { + if (this.constructor === BaseException) { + unreachable("Cannot initialize BaseException."); + } + this.message = message; + this.name = name; + } + BaseException.prototype = new Error(); + BaseException.constructor = BaseException; + return BaseException; +}(); +exports.BaseException = BaseException; +class PasswordException extends BaseException { + constructor(msg, code) { + super(msg, "PasswordException"); + this.code = code; + } +} +exports.PasswordException = PasswordException; +class UnknownErrorException extends BaseException { + constructor(msg, details) { + super(msg, "UnknownErrorException"); + this.details = details; + } +} +exports.UnknownErrorException = UnknownErrorException; +class InvalidPDFException extends BaseException { + constructor(msg) { + super(msg, "InvalidPDFException"); + } +} +exports.InvalidPDFException = InvalidPDFException; +class MissingPDFException extends BaseException { + constructor(msg) { + super(msg, "MissingPDFException"); + } +} +exports.MissingPDFException = MissingPDFException; +class UnexpectedResponseException extends BaseException { + constructor(msg, status) { + super(msg, "UnexpectedResponseException"); + this.status = status; + } +} +exports.UnexpectedResponseException = UnexpectedResponseException; +class FormatError extends BaseException { + constructor(msg) { + super(msg, "FormatError"); + } +} +exports.FormatError = FormatError; +class AbortException extends BaseException { + constructor(msg) { + super(msg, "AbortException"); + } +} +exports.AbortException = AbortException; +function bytesToString(bytes) { + if (typeof bytes !== "object" || bytes?.length === undefined) { + unreachable("Invalid argument for bytesToString"); + } + const length = bytes.length; + const MAX_ARGUMENT_COUNT = 8192; + if (length < MAX_ARGUMENT_COUNT) { + return String.fromCharCode.apply(null, bytes); + } + const strBuf = []; + for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) { + const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); + const chunk = bytes.subarray(i, chunkEnd); + strBuf.push(String.fromCharCode.apply(null, chunk)); + } + return strBuf.join(""); +} +function stringToBytes(str) { + if (typeof str !== "string") { + unreachable("Invalid argument for stringToBytes"); + } + const length = str.length; + const bytes = new Uint8Array(length); + for (let i = 0; i < length; ++i) { + bytes[i] = str.charCodeAt(i) & 0xff; + } + return bytes; +} +function string32(value) { + return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); +} +function objectSize(obj) { + return Object.keys(obj).length; +} +function objectFromMap(map) { + const obj = Object.create(null); + for (const [key, value] of map) { + obj[key] = value; + } + return obj; +} +function isLittleEndian() { + const buffer8 = new Uint8Array(4); + buffer8[0] = 1; + const view32 = new Uint32Array(buffer8.buffer, 0, 1); + return view32[0] === 1; +} +function isEvalSupported() { + try { + new Function(""); + return true; + } catch { + return false; + } +} +class FeatureTest { + static get isLittleEndian() { + return shadow(this, "isLittleEndian", isLittleEndian()); + } + static get isEvalSupported() { + return shadow(this, "isEvalSupported", isEvalSupported()); + } + static get isOffscreenCanvasSupported() { + return shadow(this, "isOffscreenCanvasSupported", typeof OffscreenCanvas !== "undefined"); + } + static get platform() { + if (typeof navigator === "undefined") { + return shadow(this, "platform", { + isWin: false, + isMac: false + }); + } + return shadow(this, "platform", { + isWin: navigator.platform.includes("Win"), + isMac: navigator.platform.includes("Mac") + }); + } + static get isCSSRoundSupported() { + return shadow(this, "isCSSRoundSupported", globalThis.CSS?.supports?.("width: round(1.5px, 1px)")); + } +} +exports.FeatureTest = FeatureTest; +const hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, "0")); +class Util { + static makeHexColor(r, g, b) { + return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`; + } + static scaleMinMax(transform, minMax) { + let temp; + if (transform[0]) { + if (transform[0] < 0) { + temp = minMax[0]; + minMax[0] = minMax[1]; + minMax[1] = temp; + } + minMax[0] *= transform[0]; + minMax[1] *= transform[0]; + if (transform[3] < 0) { + temp = minMax[2]; + minMax[2] = minMax[3]; + minMax[3] = temp; + } + minMax[2] *= transform[3]; + minMax[3] *= transform[3]; + } else { + temp = minMax[0]; + minMax[0] = minMax[2]; + minMax[2] = temp; + temp = minMax[1]; + minMax[1] = minMax[3]; + minMax[3] = temp; + if (transform[1] < 0) { + temp = minMax[2]; + minMax[2] = minMax[3]; + minMax[3] = temp; + } + minMax[2] *= transform[1]; + minMax[3] *= transform[1]; + if (transform[2] < 0) { + temp = minMax[0]; + minMax[0] = minMax[1]; + minMax[1] = temp; + } + minMax[0] *= transform[2]; + minMax[1] *= transform[2]; + } + minMax[0] += transform[4]; + minMax[1] += transform[4]; + minMax[2] += transform[5]; + minMax[3] += transform[5]; + } + static transform(m1, m2) { + return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]]; + } + static applyTransform(p, m) { + const xt = p[0] * m[0] + p[1] * m[2] + m[4]; + const yt = p[0] * m[1] + p[1] * m[3] + m[5]; + return [xt, yt]; + } + static applyInverseTransform(p, m) { + const d = m[0] * m[3] - m[1] * m[2]; + const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d; + const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d; + return [xt, yt]; + } + static getAxialAlignedBoundingBox(r, m) { + const p1 = this.applyTransform(r, m); + const p2 = this.applyTransform(r.slice(2, 4), m); + const p3 = this.applyTransform([r[0], r[3]], m); + const p4 = this.applyTransform([r[2], r[1]], m); + return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])]; + } + static inverseTransform(m) { + const d = m[0] * m[3] - m[1] * m[2]; + return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d]; + } + static singularValueDecompose2dScale(m) { + const transpose = [m[0], m[2], m[1], m[3]]; + const a = m[0] * transpose[0] + m[1] * transpose[2]; + const b = m[0] * transpose[1] + m[1] * transpose[3]; + const c = m[2] * transpose[0] + m[3] * transpose[2]; + const d = m[2] * transpose[1] + m[3] * transpose[3]; + const first = (a + d) / 2; + const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2; + const sx = first + second || 1; + const sy = first - second || 1; + return [Math.sqrt(sx), Math.sqrt(sy)]; + } + static normalizeRect(rect) { + const r = rect.slice(0); + if (rect[0] > rect[2]) { + r[0] = rect[2]; + r[2] = rect[0]; + } + if (rect[1] > rect[3]) { + r[1] = rect[3]; + r[3] = rect[1]; + } + return r; + } + static intersect(rect1, rect2) { + const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2])); + const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2])); + if (xLow > xHigh) { + return null; + } + const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3])); + const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3])); + if (yLow > yHigh) { + return null; + } + return [xLow, yLow, xHigh, yHigh]; + } + static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) { + const tvalues = [], + bounds = [[], []]; + let a, b, c, t, t1, t2, b2ac, sqrtb2ac; + for (let i = 0; i < 2; ++i) { + if (i === 0) { + b = 6 * x0 - 12 * x1 + 6 * x2; + a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3; + c = 3 * x1 - 3 * x0; + } else { + b = 6 * y0 - 12 * y1 + 6 * y2; + a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3; + c = 3 * y1 - 3 * y0; + } + if (Math.abs(a) < 1e-12) { + if (Math.abs(b) < 1e-12) { + continue; + } + t = -c / b; + if (0 < t && t < 1) { + tvalues.push(t); + } + continue; + } + b2ac = b * b - 4 * c * a; + sqrtb2ac = Math.sqrt(b2ac); + if (b2ac < 0) { + continue; + } + t1 = (-b + sqrtb2ac) / (2 * a); + if (0 < t1 && t1 < 1) { + tvalues.push(t1); + } + t2 = (-b - sqrtb2ac) / (2 * a); + if (0 < t2 && t2 < 1) { + tvalues.push(t2); + } + } + let j = tvalues.length, + mt; + const jlen = j; + while (j--) { + t = tvalues[j]; + mt = 1 - t; + bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3; + bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3; + } + bounds[0][jlen] = x0; + bounds[1][jlen] = y0; + bounds[0][jlen + 1] = x3; + bounds[1][jlen + 1] = y3; + bounds[0].length = bounds[1].length = jlen + 2; + return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])]; + } +} +exports.Util = Util; +const PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac]; +function stringToPDFString(str) { + if (str[0] >= "\xEF") { + let encoding; + if (str[0] === "\xFE" && str[1] === "\xFF") { + encoding = "utf-16be"; + } else if (str[0] === "\xFF" && str[1] === "\xFE") { + encoding = "utf-16le"; + } else if (str[0] === "\xEF" && str[1] === "\xBB" && str[2] === "\xBF") { + encoding = "utf-8"; + } + if (encoding) { + try { + const decoder = new TextDecoder(encoding, { + fatal: true + }); + const buffer = stringToBytes(str); + return decoder.decode(buffer); + } catch (ex) { + warn(`stringToPDFString: "${ex}".`); + } + } + } + const strBuf = []; + for (let i = 0, ii = str.length; i < ii; i++) { + const code = PDFStringTranslateTable[str.charCodeAt(i)]; + strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); + } + return strBuf.join(""); +} +function stringToUTF8String(str) { + return decodeURIComponent(escape(str)); +} +function utf8StringToString(str) { + return unescape(encodeURIComponent(str)); +} +function isArrayBuffer(v) { + return typeof v === "object" && v?.byteLength !== undefined; +} +function isArrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + for (let i = 0, ii = arr1.length; i < ii; i++) { + if (arr1[i] !== arr2[i]) { + return false; + } + } + return true; +} +function getModificationDate() { + let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")]; + return buffer.join(""); +} +class PromiseCapability { + #settled = false; + constructor() { + this.promise = new Promise((resolve, reject) => { + this.resolve = data => { + this.#settled = true; + resolve(data); + }; + this.reject = reason => { + this.#settled = true; + reject(reason); + }; + }); + } + get settled() { + return this.#settled; + } +} +exports.PromiseCapability = PromiseCapability; +let NormalizeRegex = null; +let NormalizationMap = null; +function normalizeUnicode(str) { + if (!NormalizeRegex) { + NormalizeRegex = /([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu; + NormalizationMap = new Map([["ſt", "ſt"]]); + } + return str.replaceAll(NormalizeRegex, (_, p1, p2) => { + return p1 ? p1.normalize("NFKC") : NormalizationMap.get(p2); + }); +} +function getUuid() { + if (typeof crypto !== "undefined" && typeof crypto?.randomUUID === "function") { + return crypto.randomUUID(); + } + const buf = new Uint8Array(32); + if (typeof crypto !== "undefined" && typeof crypto?.getRandomValues === "function") { + crypto.getRandomValues(buf); + } else { + for (let i = 0; i < 32; i++) { + buf[i] = Math.floor(Math.random() * 255); + } + } + return bytesToString(buf); +} + +/***/ }), +/* 2 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var global = __w_pdfjs_require__(4); +var apply = __w_pdfjs_require__(69); +var wrapErrorConstructorWithCause = __w_pdfjs_require__(70); +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = global[WEB_ASSEMBLY]; +var FORCED = Error('e', { cause: 7 }).cause !== 7; +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ + global: true, + constructor: true, + arity: 1, + forced: FORCED + }, O); +}; +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ + target: WEB_ASSEMBLY, + stat: true, + constructor: true, + arity: 1, + forced: FORCED + }, O); + } +}; +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { + return apply(init, this, arguments); + }; +}); + +/***/ }), +/* 3 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var getOwnPropertyDescriptor = (__w_pdfjs_require__(5).f); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var defineBuiltIn = __w_pdfjs_require__(48); +var defineGlobalProperty = __w_pdfjs_require__(38); +var copyConstructorProperties = __w_pdfjs_require__(56); +var isForced = __w_pdfjs_require__(68); +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) + for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else + targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) + continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + if (options.sham || targetProperty && targetProperty.sham) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; +module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () { + return this; +}()) || this || Function('return this')(); + +/***/ }), +/* 5 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var call = __w_pdfjs_require__(8); +var propertyIsEnumerableModule = __w_pdfjs_require__(10); +var createPropertyDescriptor = __w_pdfjs_require__(11); +var toIndexedObject = __w_pdfjs_require__(12); +var toPropertyKey = __w_pdfjs_require__(18); +var hasOwn = __w_pdfjs_require__(39); +var IE8_DOM_DEFINE = __w_pdfjs_require__(42); +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) + try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (hasOwn(O, P)) + return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +/***/ }), +/* 6 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +module.exports = !fails(function () { + return Object.defineProperty({}, 1, { + get: function () { + return 7; + } + })[1] !== 7; +}); + +/***/ }), +/* 7 */ +/***/ ((module) => { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +/***/ }), +/* 8 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_BIND = __w_pdfjs_require__(9); +var call = Function.prototype.call; +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + +/***/ }), +/* 9 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +module.exports = !fails(function () { + var test = function () { + }.bind(); + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + +/***/ }), +/* 10 */ +/***/ ((__unused_webpack_module, exports) => { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +/***/ }), +/* 11 */ +/***/ ((module) => { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +/***/ }), +/* 12 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var IndexedObject = __w_pdfjs_require__(13); +var requireObjectCoercible = __w_pdfjs_require__(16); +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +/***/ }), +/* 13 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var fails = __w_pdfjs_require__(7); +var classof = __w_pdfjs_require__(15); +var $Object = Object; +var split = uncurryThis(''.split); +module.exports = fails(function () { + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + +/***/ }), +/* 14 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_BIND = __w_pdfjs_require__(9); +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + +/***/ }), +/* 15 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + +/***/ }), +/* 16 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isNullOrUndefined = __w_pdfjs_require__(17); +var $TypeError = TypeError; +module.exports = function (it) { + if (isNullOrUndefined(it)) + throw $TypeError("Can't call method on " + it); + return it; +}; + +/***/ }), +/* 17 */ +/***/ ((module) => { + + +module.exports = function (it) { + return it === null || it === undefined; +}; + +/***/ }), +/* 18 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toPrimitive = __w_pdfjs_require__(19); +var isSymbol = __w_pdfjs_require__(23); +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + +/***/ }), +/* 19 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var isObject = __w_pdfjs_require__(20); +var isSymbol = __w_pdfjs_require__(23); +var getMethod = __w_pdfjs_require__(30); +var ordinaryToPrimitive = __w_pdfjs_require__(33); +var wellKnownSymbol = __w_pdfjs_require__(34); +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) + return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) + pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) + return result; + throw $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) + pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +/***/ }), +/* 20 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var $documentAll = __w_pdfjs_require__(22); +var documentAll = $documentAll.all; +module.exports = $documentAll.IS_HTMLDDA ? function (it) { + return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll; +} : function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + +/***/ }), +/* 21 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $documentAll = __w_pdfjs_require__(22); +var documentAll = $documentAll.all; +module.exports = $documentAll.IS_HTMLDDA ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + +/***/ }), +/* 22 */ +/***/ ((module) => { + + +var documentAll = typeof document == 'object' && document.all; +var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined; +module.exports = { + all: documentAll, + IS_HTMLDDA: IS_HTMLDDA +}; + +/***/ }), +/* 23 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +var isCallable = __w_pdfjs_require__(21); +var isPrototypeOf = __w_pdfjs_require__(25); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(26); +var $Object = Object; +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + +/***/ }), +/* 24 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var isCallable = __w_pdfjs_require__(21); +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; +}; + +/***/ }), +/* 25 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +module.exports = uncurryThis({}.isPrototypeOf); + +/***/ }), +/* 26 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_SYMBOL = __w_pdfjs_require__(27); +module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; + +/***/ }), +/* 27 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var V8_VERSION = __w_pdfjs_require__(28); +var fails = __w_pdfjs_require__(7); +var global = __w_pdfjs_require__(4); +var $String = global.String; +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +/***/ }), +/* 28 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var userAgent = __w_pdfjs_require__(29); +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; +if (v8) { + match = v8.split('.'); + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) + version = +match[1]; + } +} +module.exports = version; + +/***/ }), +/* 29 */ +/***/ ((module) => { + + +module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; + +/***/ }), +/* 30 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aCallable = __w_pdfjs_require__(31); +var isNullOrUndefined = __w_pdfjs_require__(17); +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + +/***/ }), +/* 31 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var tryToString = __w_pdfjs_require__(32); +var $TypeError = TypeError; +module.exports = function (argument) { + if (isCallable(argument)) + return argument; + throw $TypeError(tryToString(argument) + ' is not a function'); +}; + +/***/ }), +/* 32 */ +/***/ ((module) => { + + +var $String = String; +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + +/***/ }), +/* 33 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(21); +var isObject = __w_pdfjs_require__(20); +var $TypeError = TypeError; +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) + return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + throw $TypeError("Can't convert object to primitive value"); +}; + +/***/ }), +/* 34 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var shared = __w_pdfjs_require__(35); +var hasOwn = __w_pdfjs_require__(39); +var uid = __w_pdfjs_require__(41); +var NATIVE_SYMBOL = __w_pdfjs_require__(27); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(26); +var Symbol = global.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol('Symbol.' + name); + } + return WellKnownSymbolsStore[name]; +}; + +/***/ }), +/* 35 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var IS_PURE = __w_pdfjs_require__(36); +var store = __w_pdfjs_require__(37); +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.32.1', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.32.1/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + +/***/ }), +/* 36 */ +/***/ ((module) => { + + +module.exports = false; + +/***/ }), +/* 37 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var defineGlobalProperty = __w_pdfjs_require__(38); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || defineGlobalProperty(SHARED, {}); +module.exports = store; + +/***/ }), +/* 38 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var defineProperty = Object.defineProperty; +module.exports = function (key, value) { + try { + defineProperty(global, key, { + value: value, + configurable: true, + writable: true + }); + } catch (error) { + global[key] = value; + } + return value; +}; + +/***/ }), +/* 39 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var toObject = __w_pdfjs_require__(40); +var hasOwnProperty = uncurryThis({}.hasOwnProperty); +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + +/***/ }), +/* 40 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var requireObjectCoercible = __w_pdfjs_require__(16); +var $Object = Object; +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + +/***/ }), +/* 41 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + +/***/ }), +/* 42 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var fails = __w_pdfjs_require__(7); +var createElement = __w_pdfjs_require__(43); +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { + return 7; + } + }).a !== 7; +}); + +/***/ }), +/* 43 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var isObject = __w_pdfjs_require__(20); +var document = global.document; +var EXISTS = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +/***/ }), +/* 44 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var definePropertyModule = __w_pdfjs_require__(45); +var createPropertyDescriptor = __w_pdfjs_require__(11); +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +/***/ }), +/* 45 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var IE8_DOM_DEFINE = __w_pdfjs_require__(42); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(46); +var anObject = __w_pdfjs_require__(47); +var toPropertyKey = __w_pdfjs_require__(18); +var $TypeError = TypeError; +var $defineProperty = Object.defineProperty; +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } + return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) + try { + return $defineProperty(O, P, Attributes); + } catch (error) { + } + if ('get' in Attributes || 'set' in Attributes) + throw $TypeError('Accessors not supported'); + if ('value' in Attributes) + O[P] = Attributes.value; + return O; +}; + +/***/ }), +/* 46 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var fails = __w_pdfjs_require__(7); +module.exports = DESCRIPTORS && fails(function () { + return Object.defineProperty(function () { + }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + +/***/ }), +/* 47 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isObject = __w_pdfjs_require__(20); +var $String = String; +var $TypeError = TypeError; +module.exports = function (argument) { + if (isObject(argument)) + return argument; + throw $TypeError($String(argument) + ' is not an object'); +}; + +/***/ }), +/* 48 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var definePropertyModule = __w_pdfjs_require__(45); +var makeBuiltIn = __w_pdfjs_require__(49); +var defineGlobalProperty = __w_pdfjs_require__(38); +module.exports = function (O, key, value, options) { + if (!options) + options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) + makeBuiltIn(value, name, options); + if (options.global) { + if (simple) + O[key] = value; + else + defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) + delete O[key]; + else if (O[key]) + simple = true; + } catch (error) { + } + if (simple) + O[key] = value; + else + definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } + return O; +}; + +/***/ }), +/* 49 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var fails = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(21); +var hasOwn = __w_pdfjs_require__(39); +var DESCRIPTORS = __w_pdfjs_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(50).CONFIGURABLE); +var inspectSource = __w_pdfjs_require__(51); +var InternalStateModule = __w_pdfjs_require__(52); +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { + }, 'length', { value: 8 }).length !== 8; +}); +var TEMPLATE = String(String).split('String'); +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (options && options.getter) + name = 'get ' + name; + if (options && options.setter) + name = 'set ' + name; + if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { + if (DESCRIPTORS) + defineProperty(value, 'name', { + value: name, + configurable: true + }); + else + value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) + defineProperty(value, 'prototype', { writable: false }); + } else if (value.prototype) + value.prototype = undefined; + } catch (error) { + } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } + return value; +}; +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + +/***/ }), +/* 50 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var hasOwn = __w_pdfjs_require__(39); +var FunctionPrototype = Function.prototype; +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; +var EXISTS = hasOwn(FunctionPrototype, 'name'); +var PROPER = EXISTS && function something() { +}.name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable); +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +/***/ }), +/* 51 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var isCallable = __w_pdfjs_require__(21); +var store = __w_pdfjs_require__(37); +var functionToString = uncurryThis(Function.toString); +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} +module.exports = store.inspectSource; + +/***/ }), +/* 52 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_WEAK_MAP = __w_pdfjs_require__(53); +var global = __w_pdfjs_require__(4); +var isObject = __w_pdfjs_require__(20); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var hasOwn = __w_pdfjs_require__(39); +var shared = __w_pdfjs_require__(37); +var sharedKey = __w_pdfjs_require__(54); +var hiddenKeys = __w_pdfjs_require__(55); +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; +var WeakMap = global.WeakMap; +var set, get, has; +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } + return state; + }; +}; +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + store.get = store.get; + store.has = store.has; + store.set = store.set; + set = function (it, metadata) { + if (store.has(it)) + throw TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) + throw TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +/***/ }), +/* 53 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var isCallable = __w_pdfjs_require__(21); +var WeakMap = global.WeakMap; +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + +/***/ }), +/* 54 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var shared = __w_pdfjs_require__(35); +var uid = __w_pdfjs_require__(41); +var keys = shared('keys'); +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +/***/ }), +/* 55 */ +/***/ ((module) => { + + +module.exports = {}; + +/***/ }), +/* 56 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var hasOwn = __w_pdfjs_require__(39); +var ownKeys = __w_pdfjs_require__(57); +var getOwnPropertyDescriptorModule = __w_pdfjs_require__(5); +var definePropertyModule = __w_pdfjs_require__(45); +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +/***/ }), +/* 57 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +var uncurryThis = __w_pdfjs_require__(14); +var getOwnPropertyNamesModule = __w_pdfjs_require__(58); +var getOwnPropertySymbolsModule = __w_pdfjs_require__(67); +var anObject = __w_pdfjs_require__(47); +var concat = uncurryThis([].concat); +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + +/***/ }), +/* 58 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(66); +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +/***/ }), +/* 59 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var hasOwn = __w_pdfjs_require__(39); +var toIndexedObject = __w_pdfjs_require__(12); +var indexOf = (__w_pdfjs_require__(60).indexOf); +var hiddenKeys = __w_pdfjs_require__(55); +var push = uncurryThis([].push); +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) + !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + while (names.length > i) + if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + +/***/ }), +/* 60 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIndexedObject = __w_pdfjs_require__(12); +var toAbsoluteIndex = __w_pdfjs_require__(61); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + if (IS_INCLUDES && el !== el) + while (length > index) { + value = O[index++]; + if (value !== value) + return true; + } + else + for (; length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) + return IS_INCLUDES || index || 0; + } + return !IS_INCLUDES && -1; + }; +}; +module.exports = { + includes: createMethod(true), + indexOf: createMethod(false) +}; + +/***/ }), +/* 61 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +/***/ }), +/* 62 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var trunc = __w_pdfjs_require__(63); +module.exports = function (argument) { + var number = +argument; + return number !== number || number === 0 ? 0 : trunc(number); +}; + +/***/ }), +/* 63 */ +/***/ ((module) => { + + +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + +/***/ }), +/* 64 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toLength = __w_pdfjs_require__(65); +module.exports = function (obj) { + return toLength(obj.length); +}; + +/***/ }), +/* 65 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var min = Math.min; +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; +}; + +/***/ }), +/* 66 */ +/***/ ((module) => { + + +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +/***/ }), +/* 67 */ +/***/ ((__unused_webpack_module, exports) => { + + +exports.f = Object.getOwnPropertySymbols; + +/***/ }), +/* 68 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(21); +var replacement = /#|\.prototype\./; +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; +}; +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; +module.exports = isForced; + +/***/ }), +/* 69 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_BIND = __w_pdfjs_require__(9); +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + +/***/ }), +/* 70 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +var hasOwn = __w_pdfjs_require__(39); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var isPrototypeOf = __w_pdfjs_require__(25); +var setPrototypeOf = __w_pdfjs_require__(71); +var copyConstructorProperties = __w_pdfjs_require__(56); +var proxyAccessor = __w_pdfjs_require__(74); +var inheritIfRequired = __w_pdfjs_require__(75); +var normalizeStringArgument = __w_pdfjs_require__(76); +var installErrorCause = __w_pdfjs_require__(80); +var installErrorStack = __w_pdfjs_require__(81); +var DESCRIPTORS = __w_pdfjs_require__(6); +var IS_PURE = __w_pdfjs_require__(36); +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + if (!OriginalError) + return; + var OriginalErrorPrototype = OriginalError.prototype; + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) + delete OriginalErrorPrototype.cause; + if (!FORCED) + return OriginalError; + var BaseError = getBuiltIn('Error'); + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) + createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) + inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) + installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + WrappedError.prototype = OriginalErrorPrototype; + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) + setPrototypeOf(WrappedError, BaseError); + else + copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + copyConstructorProperties(WrappedError, OriginalError); + if (!IS_PURE) + try { + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { + } + return WrappedError; +}; + +/***/ }), +/* 71 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThisAccessor = __w_pdfjs_require__(72); +var anObject = __w_pdfjs_require__(47); +var aPossiblePrototype = __w_pdfjs_require__(73); +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { + } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) + setter(O, proto); + else + O.__proto__ = proto; + return O; + }; +}()) : undefined); + +/***/ }), +/* 72 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var aCallable = __w_pdfjs_require__(31); +module.exports = function (object, key, method) { + try { + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { + } +}; + +/***/ }), +/* 73 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var $String = String; +var $TypeError = TypeError; +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) + return argument; + throw $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + +/***/ }), +/* 74 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var defineProperty = (__w_pdfjs_require__(45).f); +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { + return Source[key]; + }, + set: function (it) { + Source[key] = it; + } + }); +}; + +/***/ }), +/* 75 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var isObject = __w_pdfjs_require__(20); +var setPrototypeOf = __w_pdfjs_require__(71); +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) + setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + +/***/ }), +/* 76 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toString = __w_pdfjs_require__(77); +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + +/***/ }), +/* 77 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classof = __w_pdfjs_require__(78); +var $String = String; +module.exports = function (argument) { + if (classof(argument) === 'Symbol') + throw TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + +/***/ }), +/* 78 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79); +var isCallable = __w_pdfjs_require__(21); +var classofRaw = __w_pdfjs_require__(15); +var wellKnownSymbol = __w_pdfjs_require__(34); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; +var CORRECT_ARGUMENTS = classofRaw((function () { + return arguments; +}())) === 'Arguments'; +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { + } +}; +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + +/***/ }), +/* 79 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var wellKnownSymbol = __w_pdfjs_require__(34); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; +test[TO_STRING_TAG] = 'z'; +module.exports = String(test) === '[object z]'; + +/***/ }), +/* 80 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isObject = __w_pdfjs_require__(20); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + +/***/ }), +/* 81 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var clearErrorStack = __w_pdfjs_require__(82); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(83); +var captureStackTrace = Error.captureStackTrace; +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) + captureStackTrace(error, C); + else + createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + +/***/ }), +/* 82 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var $Error = Error; +var replace = uncurryThis(''.replace); +var TEST = function (arg) { + return String($Error(arg).stack); +}('zxcasd'); +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) + stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } + return stack; +}; + +/***/ }), +/* 83 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +var createPropertyDescriptor = __w_pdfjs_require__(11); +module.exports = !fails(function () { + var error = Error('a'); + if (!('stack' in error)) + return true; + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + +/***/ }), +/* 84 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var defineBuiltIn = __w_pdfjs_require__(48); +var uncurryThis = __w_pdfjs_require__(14); +var toString = __w_pdfjs_require__(77); +var validateArgumentsLength = __w_pdfjs_require__(85); +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); +params['delete']('a', 1); +params['delete']('b', undefined); +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) + return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { + push(entries, { + key: k, + value: v + }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else + dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) + append(this, entry.key, entry.value); + } + }, { + enumerable: true, + unsafe: true + }); +} + +/***/ }), +/* 85 */ +/***/ ((module) => { + + +var $TypeError = TypeError; +module.exports = function (passed, required) { + if (passed < required) + throw $TypeError('Not enough arguments'); + return passed; +}; + +/***/ }), +/* 86 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var defineBuiltIn = __w_pdfjs_require__(48); +var uncurryThis = __w_pdfjs_require__(14); +var toString = __w_pdfjs_require__(77); +var validateArgumentsLength = __w_pdfjs_require__(85); +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) + return $has(this, name); + var values = getAll(this, name); + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) + return true; + } + return false; + }, { + enumerable: true, + unsafe: true + }); +} + +/***/ }), +/* 87 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var uncurryThis = __w_pdfjs_require__(14); +var defineBuiltInAccessor = __w_pdfjs_require__(88); +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { + count++; + }); + return count; + }, + configurable: true, + enumerable: true + }); +} + +/***/ }), +/* 88 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var makeBuiltIn = __w_pdfjs_require__(49); +var defineProperty = __w_pdfjs_require__(45); +module.exports = function (target, name, descriptor) { + if (descriptor.get) + makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) + makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + +/***/ }), +/* 89 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var toObject = __w_pdfjs_require__(40); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var setArrayLength = __w_pdfjs_require__(90); +var doesNotExceedSafeInteger = __w_pdfjs_require__(92); +var fails = __w_pdfjs_require__(7); +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); +var properErrorOnNonWritableLength = function () { + try { + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); +$({ + target: 'Array', + proto: true, + arity: 1, + forced: FORCED +}, { + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + +/***/ }), +/* 90 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var isArray = __w_pdfjs_require__(91); +var $TypeError = TypeError; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !(function () { + if (this !== undefined) + return true; + try { + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}()); +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw $TypeError('Cannot set read only .length'); + } + return O.length = length; +} : function (O, length) { + return O.length = length; +}; + +/***/ }), +/* 91 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classof = __w_pdfjs_require__(15); +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + +/***/ }), +/* 92 */ +/***/ ((module) => { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) + throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + +/***/ }), +/* 93 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var $findLast = (__w_pdfjs_require__(98).findLast); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +exportTypedArrayMethod('findLast', function findLast(predicate) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + +/***/ }), +/* 94 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(95); +var DESCRIPTORS = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(4); +var isCallable = __w_pdfjs_require__(21); +var isObject = __w_pdfjs_require__(20); +var hasOwn = __w_pdfjs_require__(39); +var classof = __w_pdfjs_require__(78); +var tryToString = __w_pdfjs_require__(32); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var defineBuiltIn = __w_pdfjs_require__(48); +var defineBuiltInAccessor = __w_pdfjs_require__(88); +var isPrototypeOf = __w_pdfjs_require__(25); +var getPrototypeOf = __w_pdfjs_require__(96); +var setPrototypeOf = __w_pdfjs_require__(71); +var wellKnownSymbol = __w_pdfjs_require__(34); +var uid = __w_pdfjs_require__(41); +var InternalStateModule = __w_pdfjs_require__(52); +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = global.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = global.TypeError; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; +var isView = function isView(it) { + if (!isObject(it)) + return false; + var klass = classof(it); + return klass === 'DataView' || hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass); +}; +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) + return; + var state = getInternalState(proto); + return state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; +var isTypedArray = function (it) { + if (!isObject(it)) + return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass); +}; +var aTypedArray = function (it) { + if (isTypedArray(it)) + return it; + throw TypeError('Target is not a typed array'); +}; +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) + return C; + throw TypeError(tryToString(C) + ' is not a typed array constructor'); +}; +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) + return; + if (forced) + for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) + try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { + } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) + return; + if (setPrototypeOf) { + if (forced) + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) + try { + delete TypedArrayConstructor[KEY]; + } catch (error) { + } + } + if (!TypedArray[KEY] || forced) { + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { + } + } else + return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; +for (NAME in TypedArrayConstructorsList) { + Constructor = global[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) + enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else + NATIVE_ARRAY_BUFFER_VIEWS = false; +} +for (NAME in BigIntArrayConstructorsList) { + Constructor = global[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) + enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + TypedArray = function TypedArray() { + throw TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) + for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) + setPrototypeOf(global[NAME], TypedArray); + } +} +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) + for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) + setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); + } +} +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) + if (global[NAME]) { + createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); + } +} +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + +/***/ }), +/* 95 */ +/***/ ((module) => { + + +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + +/***/ }), +/* 96 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var hasOwn = __w_pdfjs_require__(39); +var isCallable = __w_pdfjs_require__(21); +var toObject = __w_pdfjs_require__(40); +var sharedKey = __w_pdfjs_require__(54); +var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(97); +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) + return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } + return object instanceof $Object ? ObjectPrototype : null; +}; + +/***/ }), +/* 97 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +module.exports = !fails(function () { + function F() { + } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +/***/ }), +/* 98 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var bind = __w_pdfjs_require__(99); +var IndexedObject = __w_pdfjs_require__(13); +var toObject = __w_pdfjs_require__(40); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that); + var index = lengthOfArrayLike(self); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) + switch (TYPE) { + case 0: + return value; + case 1: + return index; + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; +module.exports = { + findLast: createMethod(0), + findLastIndex: createMethod(1) +}; + +/***/ }), +/* 99 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(100); +var aCallable = __w_pdfjs_require__(31); +var NATIVE_BIND = __w_pdfjs_require__(9); +var bind = uncurryThis(uncurryThis.bind); +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function () { + return fn.apply(that, arguments); + }; +}; + +/***/ }), +/* 100 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classofRaw = __w_pdfjs_require__(15); +var uncurryThis = __w_pdfjs_require__(14); +module.exports = function (fn) { + if (classofRaw(fn) === 'Function') + return uncurryThis(fn); +}; + +/***/ }), +/* 101 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var $findLastIndex = (__w_pdfjs_require__(98).findLastIndex); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + +/***/ }), +/* 102 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var call = __w_pdfjs_require__(8); +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var toOffset = __w_pdfjs_require__(103); +var toIndexedObject = __w_pdfjs_require__(40); +var fails = __w_pdfjs_require__(7); +var RangeError = global.RangeError; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + var array = new Uint8ClampedArray(2); + call($set, array, { + length: 1, + 0: 3 + }, 1); + return array[1] !== 3; +}); +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); +exportTypedArrayMethod('set', function set(arrayLike) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) + return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) + throw RangeError('Wrong length'); + while (index < len) + this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + +/***/ }), +/* 103 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toPositiveInteger = __w_pdfjs_require__(104); +var $RangeError = RangeError; +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) + throw $RangeError('Wrong offset'); + return offset; +}; + +/***/ }), +/* 104 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var $RangeError = RangeError; +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) + throw $RangeError("The argument can't be less than 0"); + return result; +}; + +/***/ }), +/* 105 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var arrayToReversed = __w_pdfjs_require__(106); +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + +/***/ }), +/* 106 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var lengthOfArrayLike = __w_pdfjs_require__(64); +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) + A[k] = O[len - k - 1]; + return A; +}; + +/***/ }), +/* 107 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var uncurryThis = __w_pdfjs_require__(14); +var aCallable = __w_pdfjs_require__(31); +var arrayFromConstructorAndList = __w_pdfjs_require__(108); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) + aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + +/***/ }), +/* 108 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var lengthOfArrayLike = __w_pdfjs_require__(64); +module.exports = function (Constructor, list) { + var index = 0; + var length = lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) + result[index] = list[index++]; + return result; +}; + +/***/ }), +/* 109 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var arrayWith = __w_pdfjs_require__(110); +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var isBigIntArray = __w_pdfjs_require__(111); +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var toBigInt = __w_pdfjs_require__(112); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var PROPER_ORDER = !!(function () { + try { + new Int8Array(1)['with'](2, { + valueOf: function () { + throw 8; + } + }); + } catch (error) { + return error === 8; + } +}()); +exportTypedArrayMethod('with', { + 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); + } +}['with'], !PROPER_ORDER); + +/***/ }), +/* 110 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var lengthOfArrayLike = __w_pdfjs_require__(64); +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var $RangeError = RangeError; +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) + throw $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) + A[k] = k === actualIndex ? value : O[k]; + return A; +}; + +/***/ }), +/* 111 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classof = __w_pdfjs_require__(78); +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + +/***/ }), +/* 112 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toPrimitive = __w_pdfjs_require__(19); +var $TypeError = TypeError; +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') + throw $TypeError("Can't convert number to bigint"); + return BigInt(prim); +}; + +/***/ }), +/* 113 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var defineBuiltInAccessor = __w_pdfjs_require__(88); +var isDetached = __w_pdfjs_require__(114); +var ArrayBufferPrototype = ArrayBuffer.prototype; +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + +/***/ }), +/* 114 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var arrayBufferByteLength = __w_pdfjs_require__(115); +var slice = uncurryThis(ArrayBuffer.prototype.slice); +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) + return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + +/***/ }), +/* 115 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThisAccessor = __w_pdfjs_require__(72); +var classof = __w_pdfjs_require__(15); +var $TypeError = TypeError; +module.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') + throw $TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + +/***/ }), +/* 116 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var $transfer = __w_pdfjs_require__(117); +if ($transfer) + $({ + target: 'ArrayBuffer', + proto: true + }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } + }); + +/***/ }), +/* 117 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var uncurryThis = __w_pdfjs_require__(14); +var uncurryThisAccessor = __w_pdfjs_require__(72); +var toIndex = __w_pdfjs_require__(118); +var isDetached = __w_pdfjs_require__(114); +var arrayBufferByteLength = __w_pdfjs_require__(115); +var PROPER_TRANSFER = __w_pdfjs_require__(119); +var TypeError = global.TypeError; +var structuredClone = global.structuredClone; +var ArrayBuffer = global.ArrayBuffer; +var DataView = global.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); +module.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + if (isDetached(arrayBuffer)) + throw TypeError('ArrayBuffer is detached'); + var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) + return newBuffer; + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) + return slice(newBuffer, 0, newByteLength); + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(newBuffer) } : undefined; + var newNewBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(newBuffer); + var b = new DataView(newNewBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) + setInt8(b, i, getInt8(a, i)); + return newNewBuffer; +}; + +/***/ }), +/* 118 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var toLength = __w_pdfjs_require__(65); +var $RangeError = RangeError; +module.exports = function (it) { + if (it === undefined) + return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) + throw $RangeError('Wrong length or index'); + return length; +}; + +/***/ }), +/* 119 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var fails = __w_pdfjs_require__(7); +var V8 = __w_pdfjs_require__(28); +var IS_BROWSER = __w_pdfjs_require__(120); +var IS_DENO = __w_pdfjs_require__(121); +var IS_NODE = __w_pdfjs_require__(122); +var structuredClone = global.structuredClone; +module.exports = !!structuredClone && !fails(function () { + if (IS_DENO && V8 > 92 || IS_NODE && V8 > 94 || IS_BROWSER && V8 > 97) + return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + +/***/ }), +/* 120 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var IS_DENO = __w_pdfjs_require__(121); +var IS_NODE = __w_pdfjs_require__(122); +module.exports = !IS_DENO && !IS_NODE && typeof window == 'object' && typeof document == 'object'; + +/***/ }), +/* 121 */ +/***/ ((module) => { + + +module.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object'; + +/***/ }), +/* 122 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var classof = __w_pdfjs_require__(15); +module.exports = classof(global.process) === 'process'; + +/***/ }), +/* 123 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var $transfer = __w_pdfjs_require__(117); +if ($transfer) + $({ + target: 'ArrayBuffer', + proto: true + }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } + }); + +/***/ }), +/* 124 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultFilterFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0; +Object.defineProperty(exports, "SVGGraphics", ({ + enumerable: true, + get: function () { + return _displaySvg.SVGGraphics; + } +})); +exports.build = void 0; +exports.getDocument = getDocument; +exports.version = void 0; +__w_pdfjs_require__(84); +__w_pdfjs_require__(86); +__w_pdfjs_require__(87); +__w_pdfjs_require__(2); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +__w_pdfjs_require__(149); +__w_pdfjs_require__(152); +var _util = __w_pdfjs_require__(1); +var _annotation_storage = __w_pdfjs_require__(163); +var _display_utils = __w_pdfjs_require__(168); +var _font_loader = __w_pdfjs_require__(171); +var _displayNode_utils = __w_pdfjs_require__(172); +var _canvas = __w_pdfjs_require__(173); +var _worker_options = __w_pdfjs_require__(176); +var _message_handler = __w_pdfjs_require__(177); +var _metadata = __w_pdfjs_require__(178); +var _optional_content_config = __w_pdfjs_require__(179); +var _transport_stream = __w_pdfjs_require__(180); +var _displayFetch_stream = __w_pdfjs_require__(181); +var _displayNetwork = __w_pdfjs_require__(184); +var _displayNode_stream = __w_pdfjs_require__(185); +var _displaySvg = __w_pdfjs_require__(186); +var _xfa_text = __w_pdfjs_require__(194); +const DEFAULT_RANGE_CHUNK_SIZE = 65536; +const RENDERING_CANCELLED_TIMEOUT = 100; +const DELAYED_CLEANUP_TIMEOUT = 5000; +const DefaultCanvasFactory = _util.isNodeJS ? _displayNode_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory; +exports.DefaultCanvasFactory = DefaultCanvasFactory; +const DefaultCMapReaderFactory = _util.isNodeJS ? _displayNode_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory; +exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory; +const DefaultFilterFactory = _util.isNodeJS ? _displayNode_utils.NodeFilterFactory : _display_utils.DOMFilterFactory; +exports.DefaultFilterFactory = DefaultFilterFactory; +const DefaultStandardFontDataFactory = _util.isNodeJS ? _displayNode_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory; +exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory; +function getDocument(src) { + if (typeof src === "string" || src instanceof URL) { + src = { + url: src + }; + } else if ((0, _util.isArrayBuffer)(src)) { + src = { + data: src + }; + } + if (typeof src !== "object") { + throw new Error("Invalid parameter in getDocument, need parameter object."); + } + if (!src.url && !src.data && !src.range) { + throw new Error("Invalid parameter object: need either .data, .range or .url"); + } + const task = new PDFDocumentLoadingTask(); + const { + docId + } = task; + const url = src.url ? getUrlProp(src.url) : null; + const data = src.data ? getDataProp(src.data) : null; + const httpHeaders = src.httpHeaders || null; + const withCredentials = src.withCredentials === true; + const password = src.password ?? null; + const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null; + const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE; + let worker = src.worker instanceof PDFWorker ? src.worker : null; + const verbosity = src.verbosity; + const docBaseUrl = typeof src.docBaseUrl === "string" && !(0, _display_utils.isDataScheme)(src.docBaseUrl) ? src.docBaseUrl : null; + const cMapUrl = typeof src.cMapUrl === "string" ? src.cMapUrl : null; + const cMapPacked = src.cMapPacked !== false; + const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory; + const standardFontDataUrl = typeof src.standardFontDataUrl === "string" ? src.standardFontDataUrl : null; + const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory; + const ignoreErrors = src.stopAtErrors !== true; + const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1; + const isEvalSupported = src.isEvalSupported !== false; + const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === "boolean" ? src.isOffscreenCanvasSupported : !_util.isNodeJS; + const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1; + const disableFontFace = typeof src.disableFontFace === "boolean" ? src.disableFontFace : _util.isNodeJS; + const fontExtraProperties = src.fontExtraProperties === true; + const enableXfa = src.enableXfa === true; + const ownerDocument = src.ownerDocument || globalThis.document; + const disableRange = src.disableRange === true; + const disableStream = src.disableStream === true; + const disableAutoFetch = src.disableAutoFetch === true; + const pdfBug = src.pdfBug === true; + const length = rangeTransport ? rangeTransport.length : src.length ?? NaN; + const useSystemFonts = typeof src.useSystemFonts === "boolean" ? src.useSystemFonts : !_util.isNodeJS && !disableFontFace; + const useWorkerFetch = typeof src.useWorkerFetch === "boolean" ? src.useWorkerFetch : CMapReaderFactory === _display_utils.DOMCMapReaderFactory && StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory && cMapUrl && standardFontDataUrl && (0, _display_utils.isValidFetchUrl)(cMapUrl, document.baseURI) && (0, _display_utils.isValidFetchUrl)(standardFontDataUrl, document.baseURI); + const canvasFactory = src.canvasFactory || new DefaultCanvasFactory({ + ownerDocument + }); + const filterFactory = src.filterFactory || new DefaultFilterFactory({ + docId, + ownerDocument + }); + const styleElement = null; + (0, _util.setVerbosityLevel)(verbosity); + const transportFactory = { + canvasFactory, + filterFactory + }; + if (!useWorkerFetch) { + transportFactory.cMapReaderFactory = new CMapReaderFactory({ + baseUrl: cMapUrl, + isCompressed: cMapPacked + }); + transportFactory.standardFontDataFactory = new StandardFontDataFactory({ + baseUrl: standardFontDataUrl + }); + } + if (!worker) { + const workerParams = { + verbosity, + port: _worker_options.GlobalWorkerOptions.workerPort + }; + worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams); + task._worker = worker; + } + const fetchDocParams = { + docId, + apiVersion: '3.10.111', + data, + password, + disableAutoFetch, + rangeChunkSize, + length, + docBaseUrl, + enableXfa, + evaluatorOptions: { + maxImageSize, + disableFontFace, + ignoreErrors, + isEvalSupported, + isOffscreenCanvasSupported, + canvasMaxAreaInBytes, + fontExtraProperties, + useSystemFonts, + cMapUrl: useWorkerFetch ? cMapUrl : null, + standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null + } + }; + const transportParams = { + ignoreErrors, + isEvalSupported, + disableFontFace, + fontExtraProperties, + enableXfa, + ownerDocument, + disableAutoFetch, + pdfBug, + styleElement + }; + worker.promise.then(function () { + if (task.destroyed) { + throw new Error("Loading aborted"); + } + const workerIdPromise = _fetchDocument(worker, fetchDocParams); + const networkStreamPromise = new Promise(function (resolve) { + let networkStream; + if (rangeTransport) { + networkStream = new _transport_stream.PDFDataTransportStream({ + length, + initialData: rangeTransport.initialData, + progressiveDone: rangeTransport.progressiveDone, + contentDispositionFilename: rangeTransport.contentDispositionFilename, + disableRange, + disableStream + }, rangeTransport); + } else if (!data) { + const createPDFNetworkStream = params => { + if (_util.isNodeJS) { + return new _displayNode_stream.PDFNodeStream(params); + } + return (0, _display_utils.isValidFetchUrl)(params.url) ? new _displayFetch_stream.PDFFetchStream(params) : new _displayNetwork.PDFNetworkStream(params); + }; + networkStream = createPDFNetworkStream({ + url, + length, + httpHeaders, + withCredentials, + rangeChunkSize, + disableRange, + disableStream + }); + } + resolve(networkStream); + }); + return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) { + let [workerId, networkStream] = _ref; + if (task.destroyed) { + throw new Error("Loading aborted"); + } + const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port); + const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory); + task._transport = transport; + messageHandler.send("Ready", null); + }); + }).catch(task._capability.reject); + return task; +} +async function _fetchDocument(worker, source) { + if (worker.destroyed) { + throw new Error("Worker was destroyed"); + } + const workerId = await worker.messageHandler.sendWithPromise("GetDocRequest", source, source.data ? [source.data.buffer] : null); + if (worker.destroyed) { + throw new Error("Worker was destroyed"); + } + return workerId; +} +function getUrlProp(val) { + if (val instanceof URL) { + return val.href; + } + try { + return new URL(val, window.location).href; + } catch { + if (_util.isNodeJS && typeof val === "string") { + return val; + } + } + throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property."); +} +function getDataProp(val) { + if (_util.isNodeJS && typeof Buffer !== "undefined" && val instanceof Buffer) { + throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`."); + } + if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) { + return val; + } + if (typeof val === "string") { + return (0, _util.stringToBytes)(val); + } + if (typeof val === "object" && !isNaN(val?.length) || (0, _util.isArrayBuffer)(val)) { + return new Uint8Array(val); + } + throw new Error("Invalid PDF binary data: either TypedArray, " + "string, or array-like object is expected in the data property."); +} +class PDFDocumentLoadingTask { + static #docId = 0; + constructor() { + this._capability = new _util.PromiseCapability(); + this._transport = null; + this._worker = null; + this.docId = `d${PDFDocumentLoadingTask.#docId++}`; + this.destroyed = false; + this.onPassword = null; + this.onProgress = null; + } + get promise() { + return this._capability.promise; + } + async destroy() { + this.destroyed = true; + try { + if (this._worker?.port) { + this._worker._pendingDestroy = true; + } + await this._transport?.destroy(); + } catch (ex) { + if (this._worker?.port) { + delete this._worker._pendingDestroy; + } + throw ex; + } + this._transport = null; + if (this._worker) { + this._worker.destroy(); + this._worker = null; + } + } +} +exports.PDFDocumentLoadingTask = PDFDocumentLoadingTask; +class PDFDataRangeTransport { + constructor(length, initialData) { + let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + this.length = length; + this.initialData = initialData; + this.progressiveDone = progressiveDone; + this.contentDispositionFilename = contentDispositionFilename; + this._rangeListeners = []; + this._progressListeners = []; + this._progressiveReadListeners = []; + this._progressiveDoneListeners = []; + this._readyCapability = new _util.PromiseCapability(); + } + addRangeListener(listener) { + this._rangeListeners.push(listener); + } + addProgressListener(listener) { + this._progressListeners.push(listener); + } + addProgressiveReadListener(listener) { + this._progressiveReadListeners.push(listener); + } + addProgressiveDoneListener(listener) { + this._progressiveDoneListeners.push(listener); + } + onDataRange(begin, chunk) { + for (const listener of this._rangeListeners) { + listener(begin, chunk); + } + } + onDataProgress(loaded, total) { + this._readyCapability.promise.then(() => { + for (const listener of this._progressListeners) { + listener(loaded, total); + } + }); + } + onDataProgressiveRead(chunk) { + this._readyCapability.promise.then(() => { + for (const listener of this._progressiveReadListeners) { + listener(chunk); + } + }); + } + onDataProgressiveDone() { + this._readyCapability.promise.then(() => { + for (const listener of this._progressiveDoneListeners) { + listener(); + } + }); + } + transportReady() { + this._readyCapability.resolve(); + } + requestDataRange(begin, end) { + (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange"); + } + abort() {} +} +exports.PDFDataRangeTransport = PDFDataRangeTransport; +class PDFDocumentProxy { + constructor(pdfInfo, transport) { + this._pdfInfo = pdfInfo; + this._transport = transport; + Object.defineProperty(this, "getJavaScript", { + value: () => { + (0, _display_utils.deprecated)("`PDFDocumentProxy.getJavaScript`, " + "please use `PDFDocumentProxy.getJSActions` instead."); + return this.getJSActions().then(js => { + if (!js) { + return js; + } + const jsArr = []; + for (const name in js) { + jsArr.push(...js[name]); + } + return jsArr; + }); + } + }); + } + get annotationStorage() { + return this._transport.annotationStorage; + } + get filterFactory() { + return this._transport.filterFactory; + } + get numPages() { + return this._pdfInfo.numPages; + } + get fingerprints() { + return this._pdfInfo.fingerprints; + } + get isPureXfa() { + return (0, _util.shadow)(this, "isPureXfa", !!this._transport._htmlForXfa); + } + get allXfaHtml() { + return this._transport._htmlForXfa; + } + getPage(pageNumber) { + return this._transport.getPage(pageNumber); + } + getPageIndex(ref) { + return this._transport.getPageIndex(ref); + } + getDestinations() { + return this._transport.getDestinations(); + } + getDestination(id) { + return this._transport.getDestination(id); + } + getPageLabels() { + return this._transport.getPageLabels(); + } + getPageLayout() { + return this._transport.getPageLayout(); + } + getPageMode() { + return this._transport.getPageMode(); + } + getViewerPreferences() { + return this._transport.getViewerPreferences(); + } + getOpenAction() { + return this._transport.getOpenAction(); + } + getAttachments() { + return this._transport.getAttachments(); + } + getJSActions() { + return this._transport.getDocJSActions(); + } + getOutline() { + return this._transport.getOutline(); + } + getOptionalContentConfig() { + return this._transport.getOptionalContentConfig(); + } + getPermissions() { + return this._transport.getPermissions(); + } + getMetadata() { + return this._transport.getMetadata(); + } + getMarkInfo() { + return this._transport.getMarkInfo(); + } + getData() { + return this._transport.getData(); + } + saveDocument() { + return this._transport.saveDocument(); + } + getDownloadInfo() { + return this._transport.downloadInfoCapability.promise; + } + cleanup() { + let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa); + } + destroy() { + return this.loadingTask.destroy(); + } + get loadingParams() { + return this._transport.loadingParams; + } + get loadingTask() { + return this._transport.loadingTask; + } + getFieldObjects() { + return this._transport.getFieldObjects(); + } + hasJSActions() { + return this._transport.hasJSActions(); + } + getCalculationOrderIds() { + return this._transport.getCalculationOrderIds(); + } +} +exports.PDFDocumentProxy = PDFDocumentProxy; +class PDFPageProxy { + #delayedCleanupTimeout = null; + #pendingCleanup = false; + constructor(pageIndex, pageInfo, transport) { + let pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + this._pageIndex = pageIndex; + this._pageInfo = pageInfo; + this._transport = transport; + this._stats = pdfBug ? new _display_utils.StatTimer() : null; + this._pdfBug = pdfBug; + this.commonObjs = transport.commonObjs; + this.objs = new PDFObjects(); + this._maybeCleanupAfterRender = false; + this._intentStates = new Map(); + this.destroyed = false; + } + get pageNumber() { + return this._pageIndex + 1; + } + get rotate() { + return this._pageInfo.rotate; + } + get ref() { + return this._pageInfo.ref; + } + get userUnit() { + return this._pageInfo.userUnit; + } + get view() { + return this._pageInfo.view; + } + getViewport() { + let { + scale, + rotation = this.rotate, + offsetX = 0, + offsetY = 0, + dontFlip = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + return new _display_utils.PageViewport({ + viewBox: this.view, + scale, + rotation, + offsetX, + offsetY, + dontFlip + }); + } + getAnnotations() { + let { + intent = "display" + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const intentArgs = this._transport.getRenderingIntent(intent); + return this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent); + } + getJSActions() { + return this._transport.getPageJSActions(this._pageIndex); + } + get filterFactory() { + return this._transport.filterFactory; + } + get isPureXfa() { + return (0, _util.shadow)(this, "isPureXfa", !!this._transport._htmlForXfa); + } + async getXfa() { + return this._transport._htmlForXfa?.children[this._pageIndex] || null; + } + render(_ref2) { + let { + canvasContext, + viewport, + intent = "display", + annotationMode = _util.AnnotationMode.ENABLE, + transform = null, + background = null, + optionalContentConfigPromise = null, + annotationCanvasMap = null, + pageColors = null, + printAnnotationStorage = null + } = _ref2; + this._stats?.time("Overall"); + const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage); + this.#pendingCleanup = false; + this.#abortDelayedCleanup(); + if (!optionalContentConfigPromise) { + optionalContentConfigPromise = this._transport.getOptionalContentConfig(); + } + let intentState = this._intentStates.get(intentArgs.cacheKey); + if (!intentState) { + intentState = Object.create(null); + this._intentStates.set(intentArgs.cacheKey, intentState); + } + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT); + if (!intentState.displayReadyCapability) { + intentState.displayReadyCapability = new _util.PromiseCapability(); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false, + separateAnnots: null + }; + this._stats?.time("Page Request"); + this._pumpOperatorList(intentArgs); + } + const complete = error => { + intentState.renderTasks.delete(internalRenderTask); + if (this._maybeCleanupAfterRender || intentPrint) { + this.#pendingCleanup = true; + } + this.#tryCleanup(!intentPrint); + if (error) { + internalRenderTask.capability.reject(error); + this._abortOperatorList({ + intentState, + reason: error instanceof Error ? error : new Error(error) + }); + } else { + internalRenderTask.capability.resolve(); + } + this._stats?.timeEnd("Rendering"); + this._stats?.timeEnd("Overall"); + }; + const internalRenderTask = new InternalRenderTask({ + callback: complete, + params: { + canvasContext, + viewport, + transform, + background + }, + objs: this.objs, + commonObjs: this.commonObjs, + annotationCanvasMap, + operatorList: intentState.operatorList, + pageIndex: this._pageIndex, + canvasFactory: this._transport.canvasFactory, + filterFactory: this._transport.filterFactory, + useRequestAnimationFrame: !intentPrint, + pdfBug: this._pdfBug, + pageColors + }); + (intentState.renderTasks ||= new Set()).add(internalRenderTask); + const renderTask = internalRenderTask.task; + Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(_ref3 => { + let [transparency, optionalContentConfig] = _ref3; + if (this.destroyed) { + complete(); + return; + } + this._stats?.time("Rendering"); + internalRenderTask.initializeGraphics({ + transparency, + optionalContentConfig + }); + internalRenderTask.operatorListChanged(); + }).catch(complete); + return renderTask; + } + getOperatorList() { + let { + intent = "display", + annotationMode = _util.AnnotationMode.ENABLE, + printAnnotationStorage = null + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + function operatorListChanged() { + if (intentState.operatorList.lastChunk) { + intentState.opListReadCapability.resolve(intentState.operatorList); + intentState.renderTasks.delete(opListTask); + } + } + const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true); + let intentState = this._intentStates.get(intentArgs.cacheKey); + if (!intentState) { + intentState = Object.create(null); + this._intentStates.set(intentArgs.cacheKey, intentState); + } + let opListTask; + if (!intentState.opListReadCapability) { + opListTask = Object.create(null); + opListTask.operatorListChanged = operatorListChanged; + intentState.opListReadCapability = new _util.PromiseCapability(); + (intentState.renderTasks ||= new Set()).add(opListTask); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false, + separateAnnots: null + }; + this._stats?.time("Page Request"); + this._pumpOperatorList(intentArgs); + } + return intentState.opListReadCapability.promise; + } + streamTextContent() { + let { + includeMarkedContent = false, + disableNormalization = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const TEXT_CONTENT_CHUNK_SIZE = 100; + return this._transport.messageHandler.sendWithStream("GetTextContent", { + pageIndex: this._pageIndex, + includeMarkedContent: includeMarkedContent === true, + disableNormalization: disableNormalization === true + }, { + highWaterMark: TEXT_CONTENT_CHUNK_SIZE, + size(textContent) { + return textContent.items.length; + } + }); + } + getTextContent() { + let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (this._transport._htmlForXfa) { + return this.getXfa().then(xfa => { + return _xfa_text.XfaText.textContent(xfa); + }); + } + const readableStream = this.streamTextContent(params); + return new Promise(function (resolve, reject) { + function pump() { + reader.read().then(function (_ref4) { + let { + value, + done + } = _ref4; + if (done) { + resolve(textContent); + return; + } + Object.assign(textContent.styles, value.styles); + textContent.items.push(...value.items); + pump(); + }, reject); + } + const reader = readableStream.getReader(); + const textContent = { + items: [], + styles: Object.create(null) + }; + pump(); + }); + } + getStructTree() { + return this._transport.getStructTree(this._pageIndex); + } + _destroy() { + this.destroyed = true; + const waitOn = []; + for (const intentState of this._intentStates.values()) { + this._abortOperatorList({ + intentState, + reason: new Error("Page was destroyed."), + force: true + }); + if (intentState.opListReadCapability) { + continue; + } + for (const internalRenderTask of intentState.renderTasks) { + waitOn.push(internalRenderTask.completed); + internalRenderTask.cancel(); + } + } + this.objs.clear(); + this.#pendingCleanup = false; + this.#abortDelayedCleanup(); + return Promise.all(waitOn); + } + cleanup() { + let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.#pendingCleanup = true; + const success = this.#tryCleanup(false); + if (resetStats && success) { + this._stats &&= new _display_utils.StatTimer(); + } + return success; + } + #tryCleanup() { + let delayed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.#abortDelayedCleanup(); + if (!this.#pendingCleanup || this.destroyed) { + return false; + } + if (delayed) { + this.#delayedCleanupTimeout = setTimeout(() => { + this.#delayedCleanupTimeout = null; + this.#tryCleanup(false); + }, DELAYED_CLEANUP_TIMEOUT); + return false; + } + for (const { + renderTasks, + operatorList + } of this._intentStates.values()) { + if (renderTasks.size > 0 || !operatorList.lastChunk) { + return false; + } + } + this._intentStates.clear(); + this.objs.clear(); + this.#pendingCleanup = false; + return true; + } + #abortDelayedCleanup() { + if (this.#delayedCleanupTimeout) { + clearTimeout(this.#delayedCleanupTimeout); + this.#delayedCleanupTimeout = null; + } + } + _startRenderPage(transparency, cacheKey) { + const intentState = this._intentStates.get(cacheKey); + if (!intentState) { + return; + } + this._stats?.timeEnd("Page Request"); + intentState.displayReadyCapability?.resolve(transparency); + } + _renderPageChunk(operatorListChunk, intentState) { + for (let i = 0, ii = operatorListChunk.length; i < ii; i++) { + intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); + intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); + } + intentState.operatorList.lastChunk = operatorListChunk.lastChunk; + intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots; + for (const internalRenderTask of intentState.renderTasks) { + internalRenderTask.operatorListChanged(); + } + if (operatorListChunk.lastChunk) { + this.#tryCleanup(true); + } + } + _pumpOperatorList(_ref5) { + let { + renderingIntent, + cacheKey, + annotationStorageSerializable + } = _ref5; + const { + map, + transfers + } = annotationStorageSerializable; + const readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", { + pageIndex: this._pageIndex, + intent: renderingIntent, + cacheKey, + annotationStorage: map + }, transfers); + const reader = readableStream.getReader(); + const intentState = this._intentStates.get(cacheKey); + intentState.streamReader = reader; + const pump = () => { + reader.read().then(_ref6 => { + let { + value, + done + } = _ref6; + if (done) { + intentState.streamReader = null; + return; + } + if (this._transport.destroyed) { + return; + } + this._renderPageChunk(value, intentState); + pump(); + }, reason => { + intentState.streamReader = null; + if (this._transport.destroyed) { + return; + } + if (intentState.operatorList) { + intentState.operatorList.lastChunk = true; + for (const internalRenderTask of intentState.renderTasks) { + internalRenderTask.operatorListChanged(); + } + this.#tryCleanup(true); + } + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.reject(reason); + } else if (intentState.opListReadCapability) { + intentState.opListReadCapability.reject(reason); + } else { + throw reason; + } + }); + }; + pump(); + } + _abortOperatorList(_ref7) { + let { + intentState, + reason, + force = false + } = _ref7; + if (!intentState.streamReader) { + return; + } + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + if (!force) { + if (intentState.renderTasks.size > 0) { + return; + } + if (reason instanceof _display_utils.RenderingCancelledException) { + let delay = RENDERING_CANCELLED_TIMEOUT; + if (reason.extraDelay > 0 && reason.extraDelay < 1000) { + delay += reason.extraDelay; + } + intentState.streamReaderCancelTimeout = setTimeout(() => { + intentState.streamReaderCancelTimeout = null; + this._abortOperatorList({ + intentState, + reason, + force: true + }); + }, delay); + return; + } + } + intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {}); + intentState.streamReader = null; + if (this._transport.destroyed) { + return; + } + for (const [curCacheKey, curIntentState] of this._intentStates) { + if (curIntentState === intentState) { + this._intentStates.delete(curCacheKey); + break; + } + } + this.cleanup(); + } + get stats() { + return this._stats; + } +} +exports.PDFPageProxy = PDFPageProxy; +class LoopbackPort { + #listeners = new Set(); + #deferred = Promise.resolve(); + postMessage(obj, transfer) { + const event = { + data: structuredClone(obj, null) + }; + this.#deferred.then(() => { + for (const listener of this.#listeners) { + listener.call(this, event); + } + }); + } + addEventListener(name, listener) { + this.#listeners.add(listener); + } + removeEventListener(name, listener) { + this.#listeners.delete(listener); + } + terminate() { + this.#listeners.clear(); + } +} +exports.LoopbackPort = LoopbackPort; +const PDFWorkerUtil = { + isWorkerDisabled: false, + fallbackWorkerSrc: null, + fakeWorkerId: 0 +}; +exports.PDFWorkerUtil = PDFWorkerUtil; +{ + if (_util.isNodeJS && typeof require === "function") { + PDFWorkerUtil.isWorkerDisabled = true; + PDFWorkerUtil.fallbackWorkerSrc = "./pdf.worker.js"; + } else if (typeof document === "object") { + const pdfjsFilePath = document?.currentScript?.src; + if (pdfjsFilePath) { + PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2"); + } + } + PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) { + let base; + try { + base = new URL(baseUrl); + if (!base.origin || base.origin === "null") { + return false; + } + } catch { + return false; + } + const other = new URL(otherUrl, base); + return base.origin === other.origin; + }; + PDFWorkerUtil.createCDNWrapper = function (url) { + const wrapper = `importScripts("${url}");`; + return URL.createObjectURL(new Blob([wrapper])); + }; +} +class PDFWorker { + static #workerPorts; + constructor() { + let { + name = null, + port = null, + verbosity = (0, _util.getVerbosityLevel)() + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + this.name = name; + this.destroyed = false; + this.verbosity = verbosity; + this._readyCapability = new _util.PromiseCapability(); + this._port = null; + this._webWorker = null; + this._messageHandler = null; + if (port) { + if (PDFWorker.#workerPorts?.has(port)) { + throw new Error("Cannot use more than one PDFWorker per port."); + } + (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this); + this._initializeFromPort(port); + return; + } + this._initialize(); + } + get promise() { + return this._readyCapability.promise; + } + get port() { + return this._port; + } + get messageHandler() { + return this._messageHandler; + } + _initializeFromPort(port) { + this._port = port; + this._messageHandler = new _message_handler.MessageHandler("main", "worker", port); + this._messageHandler.on("ready", function () {}); + this._readyCapability.resolve(); + this._messageHandler.send("configure", { + verbosity: this.verbosity + }); + } + _initialize() { + if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) { + let { + workerSrc + } = PDFWorker; + try { + if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) { + workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href); + } + const worker = new Worker(workerSrc); + const messageHandler = new _message_handler.MessageHandler("main", "worker", worker); + const terminateEarly = () => { + worker.removeEventListener("error", onWorkerError); + messageHandler.destroy(); + worker.terminate(); + if (this.destroyed) { + this._readyCapability.reject(new Error("Worker was destroyed")); + } else { + this._setupFakeWorker(); + } + }; + const onWorkerError = () => { + if (!this._webWorker) { + terminateEarly(); + } + }; + worker.addEventListener("error", onWorkerError); + messageHandler.on("test", data => { + worker.removeEventListener("error", onWorkerError); + if (this.destroyed) { + terminateEarly(); + return; + } + if (data) { + this._messageHandler = messageHandler; + this._port = worker; + this._webWorker = worker; + this._readyCapability.resolve(); + messageHandler.send("configure", { + verbosity: this.verbosity + }); + } else { + this._setupFakeWorker(); + messageHandler.destroy(); + worker.terminate(); + } + }); + messageHandler.on("ready", data => { + worker.removeEventListener("error", onWorkerError); + if (this.destroyed) { + terminateEarly(); + return; + } + try { + sendTest(); + } catch { + this._setupFakeWorker(); + } + }); + const sendTest = () => { + const testObj = new Uint8Array(); + messageHandler.send("test", testObj, [testObj.buffer]); + }; + sendTest(); + return; + } catch { + (0, _util.info)("The worker has been disabled."); + } + } + this._setupFakeWorker(); + } + _setupFakeWorker() { + if (!PDFWorkerUtil.isWorkerDisabled) { + (0, _util.warn)("Setting up fake worker."); + PDFWorkerUtil.isWorkerDisabled = true; + } + PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => { + if (this.destroyed) { + this._readyCapability.reject(new Error("Worker was destroyed")); + return; + } + const port = new LoopbackPort(); + this._port = port; + const id = `fake${PDFWorkerUtil.fakeWorkerId++}`; + const workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port); + WorkerMessageHandler.setup(workerHandler, port); + const messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port); + this._messageHandler = messageHandler; + this._readyCapability.resolve(); + messageHandler.send("configure", { + verbosity: this.verbosity + }); + }).catch(reason => { + this._readyCapability.reject(new Error(`Setting up fake worker failed: "${reason.message}".`)); + }); + } + destroy() { + this.destroyed = true; + if (this._webWorker) { + this._webWorker.terminate(); + this._webWorker = null; + } + PDFWorker.#workerPorts?.delete(this._port); + this._port = null; + if (this._messageHandler) { + this._messageHandler.destroy(); + this._messageHandler = null; + } + } + static fromPort(params) { + if (!params?.port) { + throw new Error("PDFWorker.fromPort - invalid method signature."); + } + const cachedPort = this.#workerPorts?.get(params.port); + if (cachedPort) { + if (cachedPort._pendingDestroy) { + throw new Error("PDFWorker.fromPort - the worker is being destroyed.\n" + "Please remember to await `PDFDocumentLoadingTask.destroy()`-calls."); + } + return cachedPort; + } + return new PDFWorker(params); + } + static get workerSrc() { + if (_worker_options.GlobalWorkerOptions.workerSrc) { + return _worker_options.GlobalWorkerOptions.workerSrc; + } + if (PDFWorkerUtil.fallbackWorkerSrc !== null) { + if (!_util.isNodeJS) { + (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'); + } + return PDFWorkerUtil.fallbackWorkerSrc; + } + throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); + } + static get _mainThreadWorkerMessageHandler() { + try { + return globalThis.pdfjsWorker?.WorkerMessageHandler || null; + } catch { + return null; + } + } + static get _setupFakeWorkerGlobal() { + const loader = async () => { + const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler; + if (mainWorkerMessageHandler) { + return mainWorkerMessageHandler; + } + if (_util.isNodeJS && typeof require === "function") { + const worker = eval("require")(this.workerSrc); + return worker.WorkerMessageHandler; + } + await (0, _display_utils.loadScript)(this.workerSrc); + return window.pdfjsWorker.WorkerMessageHandler; + }; + return (0, _util.shadow)(this, "_setupFakeWorkerGlobal", loader()); + } +} +exports.PDFWorker = PDFWorker; +class WorkerTransport { + #methodPromises = new Map(); + #pageCache = new Map(); + #pagePromises = new Map(); + #passwordCapability = null; + constructor(messageHandler, loadingTask, networkStream, params, factory) { + this.messageHandler = messageHandler; + this.loadingTask = loadingTask; + this.commonObjs = new PDFObjects(); + this.fontLoader = new _font_loader.FontLoader({ + ownerDocument: params.ownerDocument, + styleElement: params.styleElement + }); + this._params = params; + this.canvasFactory = factory.canvasFactory; + this.filterFactory = factory.filterFactory; + this.cMapReaderFactory = factory.cMapReaderFactory; + this.standardFontDataFactory = factory.standardFontDataFactory; + this.destroyed = false; + this.destroyCapability = null; + this._networkStream = networkStream; + this._fullReader = null; + this._lastProgress = null; + this.downloadInfoCapability = new _util.PromiseCapability(); + this.setupMessageHandler(); + } + #cacheSimpleMethod(name) { + let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const cachedPromise = this.#methodPromises.get(name); + if (cachedPromise) { + return cachedPromise; + } + const promise = this.messageHandler.sendWithPromise(name, data); + this.#methodPromises.set(name, promise); + return promise; + } + get annotationStorage() { + return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage()); + } + getRenderingIntent(intent) { + let annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE; + let printAnnotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + let isOpList = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + let renderingIntent = _util.RenderingIntentFlag.DISPLAY; + let annotationStorageSerializable = _annotation_storage.SerializableEmpty; + switch (intent) { + case "any": + renderingIntent = _util.RenderingIntentFlag.ANY; + break; + case "display": + break; + case "print": + renderingIntent = _util.RenderingIntentFlag.PRINT; + break; + default: + (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`); + } + switch (annotationMode) { + case _util.AnnotationMode.DISABLE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE; + break; + case _util.AnnotationMode.ENABLE: + break; + case _util.AnnotationMode.ENABLE_FORMS: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS; + break; + case _util.AnnotationMode.ENABLE_STORAGE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE; + const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage; + annotationStorageSerializable = annotationStorage.serializable; + break; + default: + (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`); + } + if (isOpList) { + renderingIntent += _util.RenderingIntentFlag.OPLIST; + } + return { + renderingIntent, + cacheKey: `${renderingIntent}_${annotationStorageSerializable.hash}`, + annotationStorageSerializable + }; + } + destroy() { + if (this.destroyCapability) { + return this.destroyCapability.promise; + } + this.destroyed = true; + this.destroyCapability = new _util.PromiseCapability(); + this.#passwordCapability?.reject(new Error("Worker was destroyed during onPassword callback")); + const waitOn = []; + for (const page of this.#pageCache.values()) { + waitOn.push(page._destroy()); + } + this.#pageCache.clear(); + this.#pagePromises.clear(); + if (this.hasOwnProperty("annotationStorage")) { + this.annotationStorage.resetModified(); + } + const terminated = this.messageHandler.sendWithPromise("Terminate", null); + waitOn.push(terminated); + Promise.all(waitOn).then(() => { + this.commonObjs.clear(); + this.fontLoader.clear(); + this.#methodPromises.clear(); + this.filterFactory.destroy(); + this._networkStream?.cancelAllRequests(new _util.AbortException("Worker was terminated.")); + if (this.messageHandler) { + this.messageHandler.destroy(); + this.messageHandler = null; + } + this.destroyCapability.resolve(); + }, this.destroyCapability.reject); + return this.destroyCapability.promise; + } + setupMessageHandler() { + const { + messageHandler, + loadingTask + } = this; + messageHandler.on("GetReader", (data, sink) => { + (0, _util.assert)(this._networkStream, "GetReader - no `IPDFStream` instance available."); + this._fullReader = this._networkStream.getFullReader(); + this._fullReader.onProgress = evt => { + this._lastProgress = { + loaded: evt.loaded, + total: evt.total + }; + }; + sink.onPull = () => { + this._fullReader.read().then(function (_ref8) { + let { + value, + done + } = _ref8; + if (done) { + sink.close(); + return; + } + (0, _util.assert)(value instanceof ArrayBuffer, "GetReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + }).catch(reason => { + sink.error(reason); + }); + }; + sink.onCancel = reason => { + this._fullReader.cancel(reason); + sink.ready.catch(readyReason => { + if (this.destroyed) { + return; + } + throw readyReason; + }); + }; + }); + messageHandler.on("ReaderHeadersReady", data => { + const headersCapability = new _util.PromiseCapability(); + const fullReader = this._fullReader; + fullReader.headersReady.then(() => { + if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { + if (this._lastProgress) { + loadingTask.onProgress?.(this._lastProgress); + } + fullReader.onProgress = evt => { + loadingTask.onProgress?.({ + loaded: evt.loaded, + total: evt.total + }); + }; + } + headersCapability.resolve({ + isStreamingSupported: fullReader.isStreamingSupported, + isRangeSupported: fullReader.isRangeSupported, + contentLength: fullReader.contentLength + }); + }, headersCapability.reject); + return headersCapability.promise; + }); + messageHandler.on("GetRangeReader", (data, sink) => { + (0, _util.assert)(this._networkStream, "GetRangeReader - no `IPDFStream` instance available."); + const rangeReader = this._networkStream.getRangeReader(data.begin, data.end); + if (!rangeReader) { + sink.close(); + return; + } + sink.onPull = () => { + rangeReader.read().then(function (_ref9) { + let { + value, + done + } = _ref9; + if (done) { + sink.close(); + return; + } + (0, _util.assert)(value instanceof ArrayBuffer, "GetRangeReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + }).catch(reason => { + sink.error(reason); + }); + }; + sink.onCancel = reason => { + rangeReader.cancel(reason); + sink.ready.catch(readyReason => { + if (this.destroyed) { + return; + } + throw readyReason; + }); + }; + }); + messageHandler.on("GetDoc", _ref10 => { + let { + pdfInfo + } = _ref10; + this._numPages = pdfInfo.numPages; + this._htmlForXfa = pdfInfo.htmlForXfa; + delete pdfInfo.htmlForXfa; + loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this)); + }); + messageHandler.on("DocException", function (ex) { + let reason; + switch (ex.name) { + case "PasswordException": + reason = new _util.PasswordException(ex.message, ex.code); + break; + case "InvalidPDFException": + reason = new _util.InvalidPDFException(ex.message); + break; + case "MissingPDFException": + reason = new _util.MissingPDFException(ex.message); + break; + case "UnexpectedResponseException": + reason = new _util.UnexpectedResponseException(ex.message, ex.status); + break; + case "UnknownErrorException": + reason = new _util.UnknownErrorException(ex.message, ex.details); + break; + default: + (0, _util.unreachable)("DocException - expected a valid Error."); + } + loadingTask._capability.reject(reason); + }); + messageHandler.on("PasswordRequest", exception => { + this.#passwordCapability = new _util.PromiseCapability(); + if (loadingTask.onPassword) { + const updatePassword = password => { + if (password instanceof Error) { + this.#passwordCapability.reject(password); + } else { + this.#passwordCapability.resolve({ + password + }); + } + }; + try { + loadingTask.onPassword(updatePassword, exception.code); + } catch (ex) { + this.#passwordCapability.reject(ex); + } + } else { + this.#passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); + } + return this.#passwordCapability.promise; + }); + messageHandler.on("DataLoaded", data => { + loadingTask.onProgress?.({ + loaded: data.length, + total: data.length + }); + this.downloadInfoCapability.resolve(data); + }); + messageHandler.on("StartRenderPage", data => { + if (this.destroyed) { + return; + } + const page = this.#pageCache.get(data.pageIndex); + page._startRenderPage(data.transparency, data.cacheKey); + }); + messageHandler.on("commonobj", _ref11 => { + let [id, type, exportedData] = _ref11; + if (this.destroyed) { + return; + } + if (this.commonObjs.has(id)) { + return; + } + switch (type) { + case "Font": + const params = this._params; + if ("error" in exportedData) { + const exportedError = exportedData.error; + (0, _util.warn)(`Error during font loading: ${exportedError}`); + this.commonObjs.resolve(id, exportedError); + break; + } + const inspectFont = params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null; + const font = new _font_loader.FontFaceObject(exportedData, { + isEvalSupported: params.isEvalSupported, + disableFontFace: params.disableFontFace, + ignoreErrors: params.ignoreErrors, + inspectFont + }); + this.fontLoader.bind(font).catch(reason => { + return messageHandler.sendWithPromise("FontFallback", { + id + }); + }).finally(() => { + if (!params.fontExtraProperties && font.data) { + font.data = null; + } + this.commonObjs.resolve(id, font); + }); + break; + case "FontPath": + case "Image": + case "Pattern": + this.commonObjs.resolve(id, exportedData); + break; + default: + throw new Error(`Got unknown common object type ${type}`); + } + }); + messageHandler.on("obj", _ref12 => { + let [id, pageIndex, type, imageData] = _ref12; + if (this.destroyed) { + return; + } + const pageProxy = this.#pageCache.get(pageIndex); + if (pageProxy.objs.has(id)) { + return; + } + switch (type) { + case "Image": + pageProxy.objs.resolve(id, imageData); + if (imageData) { + let length; + if (imageData.bitmap) { + const { + width, + height + } = imageData; + length = width * height * 4; + } else { + length = imageData.data?.length || 0; + } + if (length > _util.MAX_IMAGE_SIZE_TO_CACHE) { + pageProxy._maybeCleanupAfterRender = true; + } + } + break; + case "Pattern": + pageProxy.objs.resolve(id, imageData); + break; + default: + throw new Error(`Got unknown object type ${type}`); + } + }); + messageHandler.on("DocProgress", data => { + if (this.destroyed) { + return; + } + loadingTask.onProgress?.({ + loaded: data.loaded, + total: data.total + }); + }); + messageHandler.on("FetchBuiltInCMap", data => { + if (this.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + if (!this.cMapReaderFactory) { + return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")); + } + return this.cMapReaderFactory.fetch(data); + }); + messageHandler.on("FetchStandardFontData", data => { + if (this.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + if (!this.standardFontDataFactory) { + return Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")); + } + return this.standardFontDataFactory.fetch(data); + }); + } + getData() { + return this.messageHandler.sendWithPromise("GetData", null); + } + saveDocument() { + if (this.annotationStorage.size <= 0) { + (0, _util.warn)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead."); + } + const { + map, + transfers + } = this.annotationStorage.serializable; + return this.messageHandler.sendWithPromise("SaveDocument", { + isPureXfa: !!this._htmlForXfa, + numPages: this._numPages, + annotationStorage: map, + filename: this._fullReader?.filename ?? null + }, transfers).finally(() => { + this.annotationStorage.resetModified(); + }); + } + getPage(pageNumber) { + if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) { + return Promise.reject(new Error("Invalid page request.")); + } + const pageIndex = pageNumber - 1, + cachedPromise = this.#pagePromises.get(pageIndex); + if (cachedPromise) { + return cachedPromise; + } + const promise = this.messageHandler.sendWithPromise("GetPage", { + pageIndex + }).then(pageInfo => { + if (this.destroyed) { + throw new Error("Transport destroyed"); + } + const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug); + this.#pageCache.set(pageIndex, page); + return page; + }); + this.#pagePromises.set(pageIndex, promise); + return promise; + } + getPageIndex(ref) { + if (typeof ref !== "object" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) { + return Promise.reject(new Error("Invalid pageIndex request.")); + } + return this.messageHandler.sendWithPromise("GetPageIndex", { + num: ref.num, + gen: ref.gen + }); + } + getAnnotations(pageIndex, intent) { + return this.messageHandler.sendWithPromise("GetAnnotations", { + pageIndex, + intent + }); + } + getFieldObjects() { + return this.#cacheSimpleMethod("GetFieldObjects"); + } + hasJSActions() { + return this.#cacheSimpleMethod("HasJSActions"); + } + getCalculationOrderIds() { + return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null); + } + getDestinations() { + return this.messageHandler.sendWithPromise("GetDestinations", null); + } + getDestination(id) { + if (typeof id !== "string") { + return Promise.reject(new Error("Invalid destination request.")); + } + return this.messageHandler.sendWithPromise("GetDestination", { + id + }); + } + getPageLabels() { + return this.messageHandler.sendWithPromise("GetPageLabels", null); + } + getPageLayout() { + return this.messageHandler.sendWithPromise("GetPageLayout", null); + } + getPageMode() { + return this.messageHandler.sendWithPromise("GetPageMode", null); + } + getViewerPreferences() { + return this.messageHandler.sendWithPromise("GetViewerPreferences", null); + } + getOpenAction() { + return this.messageHandler.sendWithPromise("GetOpenAction", null); + } + getAttachments() { + return this.messageHandler.sendWithPromise("GetAttachments", null); + } + getDocJSActions() { + return this.#cacheSimpleMethod("GetDocJSActions"); + } + getPageJSActions(pageIndex) { + return this.messageHandler.sendWithPromise("GetPageJSActions", { + pageIndex + }); + } + getStructTree(pageIndex) { + return this.messageHandler.sendWithPromise("GetStructTree", { + pageIndex + }); + } + getOutline() { + return this.messageHandler.sendWithPromise("GetOutline", null); + } + getOptionalContentConfig() { + return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(results => { + return new _optional_content_config.OptionalContentConfig(results); + }); + } + getPermissions() { + return this.messageHandler.sendWithPromise("GetPermissions", null); + } + getMetadata() { + const name = "GetMetadata", + cachedPromise = this.#methodPromises.get(name); + if (cachedPromise) { + return cachedPromise; + } + const promise = this.messageHandler.sendWithPromise(name, null).then(results => { + return { + info: results[0], + metadata: results[1] ? new _metadata.Metadata(results[1]) : null, + contentDispositionFilename: this._fullReader?.filename ?? null, + contentLength: this._fullReader?.contentLength ?? null + }; + }); + this.#methodPromises.set(name, promise); + return promise; + } + getMarkInfo() { + return this.messageHandler.sendWithPromise("GetMarkInfo", null); + } + async startCleanup() { + let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.destroyed) { + return; + } + await this.messageHandler.sendWithPromise("Cleanup", null); + for (const page of this.#pageCache.values()) { + const cleanupSuccessful = page.cleanup(); + if (!cleanupSuccessful) { + throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`); + } + } + this.commonObjs.clear(); + if (!keepLoadedFonts) { + this.fontLoader.clear(); + } + this.#methodPromises.clear(); + this.filterFactory.destroy(true); + } + get loadingParams() { + const { + disableAutoFetch, + enableXfa + } = this._params; + return (0, _util.shadow)(this, "loadingParams", { + disableAutoFetch, + enableXfa + }); + } +} +class PDFObjects { + #objs = Object.create(null); + #ensureObj(objId) { + return this.#objs[objId] ||= { + capability: new _util.PromiseCapability(), + data: null + }; + } + get(objId) { + let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (callback) { + const obj = this.#ensureObj(objId); + obj.capability.promise.then(() => callback(obj.data)); + return null; + } + const obj = this.#objs[objId]; + if (!obj?.capability.settled) { + throw new Error(`Requesting object that isn't resolved yet ${objId}.`); + } + return obj.data; + } + has(objId) { + const obj = this.#objs[objId]; + return obj?.capability.settled || false; + } + resolve(objId) { + let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const obj = this.#ensureObj(objId); + obj.data = data; + obj.capability.resolve(); + } + clear() { + for (const objId in this.#objs) { + const { + data + } = this.#objs[objId]; + data?.bitmap?.close(); + } + this.#objs = Object.create(null); + } +} +class RenderTask { + #internalRenderTask = null; + constructor(internalRenderTask) { + this.#internalRenderTask = internalRenderTask; + this.onContinue = null; + } + get promise() { + return this.#internalRenderTask.capability.promise; + } + cancel() { + let extraDelay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + this.#internalRenderTask.cancel(null, extraDelay); + } + get separateAnnots() { + const { + separateAnnots + } = this.#internalRenderTask.operatorList; + if (!separateAnnots) { + return false; + } + const { + annotationCanvasMap + } = this.#internalRenderTask; + return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0; + } +} +exports.RenderTask = RenderTask; +class InternalRenderTask { + static #canvasInUse = new WeakSet(); + constructor(_ref13) { + let { + callback, + params, + objs, + commonObjs, + annotationCanvasMap, + operatorList, + pageIndex, + canvasFactory, + filterFactory, + useRequestAnimationFrame = false, + pdfBug = false, + pageColors = null + } = _ref13; + this.callback = callback; + this.params = params; + this.objs = objs; + this.commonObjs = commonObjs; + this.annotationCanvasMap = annotationCanvasMap; + this.operatorListIdx = null; + this.operatorList = operatorList; + this._pageIndex = pageIndex; + this.canvasFactory = canvasFactory; + this.filterFactory = filterFactory; + this._pdfBug = pdfBug; + this.pageColors = pageColors; + this.running = false; + this.graphicsReadyCallback = null; + this.graphicsReady = false; + this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; + this.cancelled = false; + this.capability = new _util.PromiseCapability(); + this.task = new RenderTask(this); + this._cancelBound = this.cancel.bind(this); + this._continueBound = this._continue.bind(this); + this._scheduleNextBound = this._scheduleNext.bind(this); + this._nextBound = this._next.bind(this); + this._canvas = params.canvasContext.canvas; + } + get completed() { + return this.capability.promise.catch(function () {}); + } + initializeGraphics(_ref14) { + let { + transparency = false, + optionalContentConfig + } = _ref14; + if (this.cancelled) { + return; + } + if (this._canvas) { + if (InternalRenderTask.#canvasInUse.has(this._canvas)) { + throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed."); + } + InternalRenderTask.#canvasInUse.add(this._canvas); + } + if (this._pdfBug && globalThis.StepperManager?.enabled) { + this.stepper = globalThis.StepperManager.create(this._pageIndex); + this.stepper.init(this.operatorList); + this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); + } + const { + canvasContext, + viewport, + transform, + background + } = this.params; + this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, { + optionalContentConfig + }, this.annotationCanvasMap, this.pageColors); + this.gfx.beginDrawing({ + transform, + viewport, + transparency, + background + }); + this.operatorListIdx = 0; + this.graphicsReady = true; + this.graphicsReadyCallback?.(); + } + cancel() { + let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let extraDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + this.running = false; + this.cancelled = true; + this.gfx?.endDrawing(); + if (this._canvas) { + InternalRenderTask.#canvasInUse.delete(this._canvas); + } + this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay)); + } + operatorListChanged() { + if (!this.graphicsReady) { + this.graphicsReadyCallback ||= this._continueBound; + return; + } + this.stepper?.updateOperatorList(this.operatorList); + if (this.running) { + return; + } + this._continue(); + } + _continue() { + this.running = true; + if (this.cancelled) { + return; + } + if (this.task.onContinue) { + this.task.onContinue(this._scheduleNextBound); + } else { + this._scheduleNext(); + } + } + _scheduleNext() { + if (this._useRequestAnimationFrame) { + window.requestAnimationFrame(() => { + this._nextBound().catch(this._cancelBound); + }); + } else { + Promise.resolve().then(this._nextBound).catch(this._cancelBound); + } + } + async _next() { + if (this.cancelled) { + return; + } + this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper); + if (this.operatorListIdx === this.operatorList.argsArray.length) { + this.running = false; + if (this.operatorList.lastChunk) { + this.gfx.endDrawing(this.pageColors); + if (this._canvas) { + InternalRenderTask.#canvasInUse.delete(this._canvas); + } + this.callback(); + } + } + } +} +const version = '3.10.111'; +exports.version = version; +const build = 'e142baecb'; +exports.build = build; + +/***/ }), +/* 125 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var difference = __w_pdfjs_require__(126); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('difference') +}, { difference: difference }); + +/***/ }), +/* 126 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var SetHelpers = __w_pdfjs_require__(128); +var clone = __w_pdfjs_require__(129); +var size = __w_pdfjs_require__(132); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSet = __w_pdfjs_require__(130); +var iterateSimple = __w_pdfjs_require__(131); +var has = SetHelpers.has; +var remove = SetHelpers.remove; +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) + iterateSet(O, function (e) { + if (otherRec.includes(e)) + remove(result, e); + }); + else + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) + remove(result, e); + }); + return result; +}; + +/***/ }), +/* 127 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var has = (__w_pdfjs_require__(128).has); +module.exports = function (it) { + has(it); + return it; +}; + +/***/ }), +/* 128 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var SetPrototype = Set.prototype; +module.exports = { + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + +/***/ }), +/* 129 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var SetHelpers = __w_pdfjs_require__(128); +var iterate = __w_pdfjs_require__(130); +var Set = SetHelpers.Set; +var add = SetHelpers.add; +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + +/***/ }), +/* 130 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var iterateSimple = __w_pdfjs_require__(131); +var SetHelpers = __w_pdfjs_require__(128); +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ + iterator: keys(set), + next: next + }, fn) : forEach(set, fn); +}; + +/***/ }), +/* 131 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) + return result; + } +}; + +/***/ }), +/* 132 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThisAccessor = __w_pdfjs_require__(72); +var SetHelpers = __w_pdfjs_require__(128); +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + +/***/ }), +/* 133 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aCallable = __w_pdfjs_require__(31); +var anObject = __w_pdfjs_require__(47); +var call = __w_pdfjs_require__(8); +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var getIteratorDirect = __w_pdfjs_require__(134); +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; +var SetRecord = function (set, size, has, keys) { + this.set = set; + this.size = size; + this.has = has; + this.keys = keys; +}; +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + if (numSize !== numSize) + throw $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) + throw $RangeError(INVALID_SIZE); + return new SetRecord(obj, max(intSize, 0), aCallable(obj.has), aCallable(obj.keys)); +}; + +/***/ }), +/* 134 */ +/***/ ((module) => { + + +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + +/***/ }), +/* 135 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + +/***/ }), +/* 136 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var fails = __w_pdfjs_require__(7); +var intersection = __w_pdfjs_require__(137); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + return Array.from(new Set([ + 1, + 2, + 3 + ]).intersection(new Set([ + 3, + 2 + ]))) !== '3,2'; +}); +$({ + target: 'Set', + proto: true, + real: true, + forced: INCORRECT +}, { intersection: intersection }); + +/***/ }), +/* 137 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var SetHelpers = __w_pdfjs_require__(128); +var size = __w_pdfjs_require__(132); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSet = __w_pdfjs_require__(130); +var iterateSimple = __w_pdfjs_require__(131); +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) + add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) + add(result, e); + }); + } + return result; +}; + +/***/ }), +/* 138 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var isDisjointFrom = __w_pdfjs_require__(139); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isDisjointFrom') +}, { isDisjointFrom: isDisjointFrom }); + +/***/ }), +/* 139 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var has = (__w_pdfjs_require__(128).has); +var size = __w_pdfjs_require__(132); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSet = __w_pdfjs_require__(130); +var iterateSimple = __w_pdfjs_require__(131); +var iteratorClose = __w_pdfjs_require__(140); +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) + return iterateSet(O, function (e) { + if (otherRec.includes(e)) + return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) + return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + +/***/ }), +/* 140 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var anObject = __w_pdfjs_require__(47); +var getMethod = __w_pdfjs_require__(30); +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') + throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') + throw value; + if (innerError) + throw innerResult; + anObject(innerResult); + return value; +}; + +/***/ }), +/* 141 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var isSubsetOf = __w_pdfjs_require__(142); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isSubsetOf') +}, { isSubsetOf: isSubsetOf }); + +/***/ }), +/* 142 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var size = __w_pdfjs_require__(132); +var iterate = __w_pdfjs_require__(130); +var getSetRecord = __w_pdfjs_require__(133); +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) + return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) + return false; + }, true) !== false; +}; + +/***/ }), +/* 143 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var isSupersetOf = __w_pdfjs_require__(144); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isSupersetOf') +}, { isSupersetOf: isSupersetOf }); + +/***/ }), +/* 144 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var has = (__w_pdfjs_require__(128).has); +var size = __w_pdfjs_require__(132); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSimple = __w_pdfjs_require__(131); +var iteratorClose = __w_pdfjs_require__(140); +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) + return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) + return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + +/***/ }), +/* 145 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var symmetricDifference = __w_pdfjs_require__(146); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('symmetricDifference') +}, { symmetricDifference: symmetricDifference }); + +/***/ }), +/* 146 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var SetHelpers = __w_pdfjs_require__(128); +var clone = __w_pdfjs_require__(129); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSimple = __w_pdfjs_require__(131); +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) + remove(result, e); + else + add(result, e); + }); + return result; +}; + +/***/ }), +/* 147 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var union = __w_pdfjs_require__(148); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('union') +}, { union: union }); + +/***/ }), +/* 148 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var add = (__w_pdfjs_require__(128).add); +var clone = __w_pdfjs_require__(129); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSimple = __w_pdfjs_require__(131); +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + +/***/ }), +/* 149 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var global = __w_pdfjs_require__(4); +var getBuiltIn = __w_pdfjs_require__(24); +var createPropertyDescriptor = __w_pdfjs_require__(11); +var defineProperty = (__w_pdfjs_require__(45).f); +var hasOwn = __w_pdfjs_require__(39); +var anInstance = __w_pdfjs_require__(150); +var inheritIfRequired = __w_pdfjs_require__(75); +var normalizeStringArgument = __w_pdfjs_require__(76); +var DOMExceptionConstants = __w_pdfjs_require__(151); +var clearErrorStack = __w_pdfjs_require__(82); +var DESCRIPTORS = __w_pdfjs_require__(6); +var IS_PURE = __w_pdfjs_require__(36); +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; +var ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION); +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; +$({ + global: true, + constructor: true, + forced: IS_PURE || FORCED_CONSTRUCTOR +}, { DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException }); +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + for (var key in DOMExceptionConstants) + if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + +/***/ }), +/* 150 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isPrototypeOf = __w_pdfjs_require__(25); +var $TypeError = TypeError; +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) + return it; + throw $TypeError('Incorrect invocation'); +}; + +/***/ }), +/* 151 */ +/***/ ((module) => { + + +module.exports = { + IndexSizeError: { + s: 'INDEX_SIZE_ERR', + c: 1, + m: 1 + }, + DOMStringSizeError: { + s: 'DOMSTRING_SIZE_ERR', + c: 2, + m: 0 + }, + HierarchyRequestError: { + s: 'HIERARCHY_REQUEST_ERR', + c: 3, + m: 1 + }, + WrongDocumentError: { + s: 'WRONG_DOCUMENT_ERR', + c: 4, + m: 1 + }, + InvalidCharacterError: { + s: 'INVALID_CHARACTER_ERR', + c: 5, + m: 1 + }, + NoDataAllowedError: { + s: 'NO_DATA_ALLOWED_ERR', + c: 6, + m: 0 + }, + NoModificationAllowedError: { + s: 'NO_MODIFICATION_ALLOWED_ERR', + c: 7, + m: 1 + }, + NotFoundError: { + s: 'NOT_FOUND_ERR', + c: 8, + m: 1 + }, + NotSupportedError: { + s: 'NOT_SUPPORTED_ERR', + c: 9, + m: 1 + }, + InUseAttributeError: { + s: 'INUSE_ATTRIBUTE_ERR', + c: 10, + m: 1 + }, + InvalidStateError: { + s: 'INVALID_STATE_ERR', + c: 11, + m: 1 + }, + SyntaxError: { + s: 'SYNTAX_ERR', + c: 12, + m: 1 + }, + InvalidModificationError: { + s: 'INVALID_MODIFICATION_ERR', + c: 13, + m: 1 + }, + NamespaceError: { + s: 'NAMESPACE_ERR', + c: 14, + m: 1 + }, + InvalidAccessError: { + s: 'INVALID_ACCESS_ERR', + c: 15, + m: 1 + }, + ValidationError: { + s: 'VALIDATION_ERR', + c: 16, + m: 0 + }, + TypeMismatchError: { + s: 'TYPE_MISMATCH_ERR', + c: 17, + m: 1 + }, + SecurityError: { + s: 'SECURITY_ERR', + c: 18, + m: 1 + }, + NetworkError: { + s: 'NETWORK_ERR', + c: 19, + m: 1 + }, + AbortError: { + s: 'ABORT_ERR', + c: 20, + m: 1 + }, + URLMismatchError: { + s: 'URL_MISMATCH_ERR', + c: 21, + m: 1 + }, + QuotaExceededError: { + s: 'QUOTA_EXCEEDED_ERR', + c: 22, + m: 1 + }, + TimeoutError: { + s: 'TIMEOUT_ERR', + c: 23, + m: 1 + }, + InvalidNodeTypeError: { + s: 'INVALID_NODE_TYPE_ERR', + c: 24, + m: 1 + }, + DataCloneError: { + s: 'DATA_CLONE_ERR', + c: 25, + m: 1 + } +}; + +/***/ }), +/* 152 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var IS_PURE = __w_pdfjs_require__(36); +var $ = __w_pdfjs_require__(3); +var global = __w_pdfjs_require__(4); +var getBuiltin = __w_pdfjs_require__(24); +var uncurryThis = __w_pdfjs_require__(14); +var fails = __w_pdfjs_require__(7); +var uid = __w_pdfjs_require__(41); +var isCallable = __w_pdfjs_require__(21); +var isConstructor = __w_pdfjs_require__(153); +var isNullOrUndefined = __w_pdfjs_require__(17); +var isObject = __w_pdfjs_require__(20); +var isSymbol = __w_pdfjs_require__(23); +var iterate = __w_pdfjs_require__(154); +var anObject = __w_pdfjs_require__(47); +var classof = __w_pdfjs_require__(78); +var hasOwn = __w_pdfjs_require__(39); +var createProperty = __w_pdfjs_require__(159); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var validateArgumentsLength = __w_pdfjs_require__(85); +var getRegExpFlags = __w_pdfjs_require__(160); +var MapHelpers = __w_pdfjs_require__(162); +var SetHelpers = __w_pdfjs_require__(128); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(83); +var PROPER_TRANSFER = __w_pdfjs_require__(119); +var Object = global.Object; +var Array = global.Array; +var Date = global.Date; +var Error = global.Error; +var EvalError = global.EvalError; +var RangeError = global.RangeError; +var ReferenceError = global.ReferenceError; +var SyntaxError = global.SyntaxError; +var TypeError = global.TypeError; +var URIError = global.URIError; +var PerformanceMark = global.PerformanceMark; +var WebAssembly = global.WebAssembly; +var CompileError = WebAssembly && WebAssembly.CompileError || Error; +var LinkError = WebAssembly && WebAssembly.LinkError || Error; +var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error; +var DOMException = getBuiltin('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var objectKeys = getBuiltin('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new global.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || typeof number != 'object' || number !== 7; + }) && structuredCloneImplementation; +}; +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ + a: error, + b: error + }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; +var nativeStructuredClone = global.structuredClone; +var FORCED_REPLACEMENT = IS_PURE || !checkErrorsCloning(nativeStructuredClone, Error) || !checkErrorsCloning(nativeStructuredClone, DOMException) || !checkNewErrorsCloningSemantic(nativeStructuredClone); +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) + throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new global.DataTransfer(); + } catch (error) { + try { + dataTransfer = new global.ClipboardEvent('').clipboardData; + } catch (error2) { + } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) + return mapGet(map, value); + var type = $type || classof(value); + var clone, length, options, source, target, i; + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) + clone = nativeRestrictedStructuredClone(value); + else + clone = value; + } else { + var DataView = global.DataView; + if (!DataView && typeof value.slice != 'function') + throwUnpolyfillable('ArrayBuffer'); + try { + if (typeof value.slice == 'function' && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + mapSet(map, value, clone); + return clone; +}; +var cloneView = function (value, type, offset, length, map) { + var C = global[type]; + if (!isObject(C)) + throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; +var Placeholder = function (object, type, metadata) { + this.object = object; + this.type = type; + this.metadata = metadata; +}; +var structuredCloneInternal = function (value, map, transferredBuffers) { + if (isSymbol(value)) + throwUncloneable('Symbol'); + if (!isObject(value)) + return value; + if (map) { + if (mapHas(map, value)) + return mapGet(map, value); + } else + map = new Map(); + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = getBuiltin('AggregateError')([]); + break; + case 'EvalError': + cloned = EvalError(); + break; + case 'RangeError': + cloned = RangeError(); + break; + case 'ReferenceError': + cloned = ReferenceError(); + break; + case 'SyntaxError': + cloned = SyntaxError(); + break; + case 'TypeError': + cloned = TypeError(); + break; + case 'URIError': + cloned = URIError(); + break; + case 'CompileError': + cloned = CompileError(); + break; + case 'LinkError': + cloned = LinkError(); + break; + case 'RuntimeError': + cloned = RuntimeError(); + break; + default: + cloned = Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = transferredBuffers ? new Placeholder(value, type) : cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = transferredBuffers ? new Placeholder(value, type, { + offset: value.byteOffset, + length: length + }) : cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad(structuredCloneInternal(value.p1, map, transferredBuffers), structuredCloneInternal(value.p2, map, transferredBuffers), structuredCloneInternal(value.p3, map, transferredBuffers), structuredCloneInternal(value.p4, map, transferredBuffers)); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) + try { + cloned = nativeRestrictedStructuredClone(value); + if (classof(cloned) !== type) + cloned = undefined; + } catch (error) { + } + if (!cloned) + try { + cloned = new File([value], value.name, value); + } catch (error) { + } + if (!cloned) + throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map, transferredBuffers)); + } + cloned = dataTransfer.files; + } else + cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + try { + cloned = new ImageData(structuredCloneInternal(value.data, map, transferredBuffers), value.width, value.height, { colorSpace: value.colorSpace }); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + switch (type) { + case 'BigInt': + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = global[type]; + try { + cloned = C.fromPoint ? C.fromPoint(value) : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = global[type]; + try { + cloned = C.fromRect ? C.fromRect(value) : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = global[type]; + try { + cloned = C.fromMatrix ? C.fromMatrix(value) : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) + throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } + break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + default: + throwUncloneable(type); + } + } + mapSet(map, value, cloned); + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map, transferredBuffers)); + } + break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map, transferredBuffers), structuredCloneInternal(v, map, transferredBuffers)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map, transferredBuffers)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map, transferredBuffers)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map, transferredBuffers)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map, transferredBuffers); + } + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map, transferredBuffers)); + } + } + return cloned; +}; +var replacePlaceholders = function (value, map) { + if (!isObject(value)) + return value; + if (mapHas(map, value)) + return mapGet(map, value); + var type, object, metadata, i, length, keys, key, replacement; + if (value instanceof Placeholder) { + type = value.type; + object = value.object; + switch (type) { + case 'ArrayBuffer': + case 'SharedArrayBuffer': + replacement = cloneBuffer(object, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + metadata = value.metadata; + replacement = cloneView(object, type, metadata.offset, metadata.length, map); + } + } else + switch (classof(value)) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + value[key] = replacePlaceholders(value[key], map); + } + break; + case 'Map': + replacement = new Map(); + value.forEach(function (v, k) { + mapSet(replacement, replacePlaceholders(k, map), replacePlaceholders(v, map)); + }); + break; + case 'Set': + replacement = new Set(); + value.forEach(function (v) { + setAdd(replacement, replacePlaceholders(v, map)); + }); + break; + case 'Error': + value.message = replacePlaceholders(value.message, map); + if (hasOwn(value, 'cause')) { + value.cause = replacePlaceholders(value.cause, map); + } + if (value.name === 'AggregateError') { + value.errors = replacePlaceholders(value.errors, map); + } + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + value.stack = replacePlaceholders(value.stack, map); + } + } + mapSet(map, value, replacement || value); + return replacement || value; +}; +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) + throw TypeError('Transfer option cannot be converted to a sequence'); + var transfer = []; + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = []; + var value, type, C, transferred, canvas, context; + while (i < length) { + value = transfer[i++]; + type = classof(value); + if (type === 'ArrayBuffer') { + push(buffers, value); + continue; + } + if (mapHas(map, value)) + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + if (PROPER_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else + switch (type) { + case 'ImageBitmap': + C = global.OffscreenCanvas; + if (!isConstructor(C)) + throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) + throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { + } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'TransformStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + if (transferred === undefined) + throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + mapSet(map, value, transferred); + } + return buffers; +}; +var tryToTransferBuffers = function (transfer, map) { + var i = 0; + var length = lengthOfArrayLike(transfer); + var value, transferred; + while (i < length) { + value = transfer[i++]; + if (mapHas(map, value)) + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + if (PROPER_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else { + if (!isCallable(value.transfer)) + throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + transferred = value.transfer(); + } + mapSet(map, value, transferred); + } +}; +$({ + global: true, + enumerable: true, + sham: !PROPER_TRANSFER, + forced: FORCED_REPLACEMENT +}, { + structuredClone: function structuredClone(value) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var transferredBuffers = false; + var map, buffers; + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + transferredBuffers = !!lengthOfArrayLike(buffers); + } + var clone = structuredCloneInternal(value, map, transferredBuffers); + if (transferredBuffers) { + map = new Map(); + tryToTransferBuffers(transfer, map); + clone = replacePlaceholders(clone, map); + } + return clone; + } +}); + +/***/ }), +/* 153 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var fails = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(21); +var classof = __w_pdfjs_require__(78); +var getBuiltIn = __w_pdfjs_require__(24); +var inspectSource = __w_pdfjs_require__(51); +var noop = function () { +}; +var empty = []; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + try { + construct(noop, empty, argument); + return true; + } catch (error) { + return false; + } +}; +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': + return false; + } + try { + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; +isConstructorLegacy.sham = true; +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () { + called = true; + }) || called; +}) ? isConstructorLegacy : isConstructorModern; + +/***/ }), +/* 154 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var bind = __w_pdfjs_require__(99); +var call = __w_pdfjs_require__(8); +var anObject = __w_pdfjs_require__(47); +var tryToString = __w_pdfjs_require__(32); +var isArrayIteratorMethod = __w_pdfjs_require__(155); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var isPrototypeOf = __w_pdfjs_require__(25); +var getIterator = __w_pdfjs_require__(157); +var getIteratorMethod = __w_pdfjs_require__(158); +var iteratorClose = __w_pdfjs_require__(140); +var $TypeError = TypeError; +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; +var ResultPrototype = Result.prototype; +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + var stop = function (condition) { + if (iterator) + iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } + return INTERRUPTED ? fn(value, stop) : fn(value); + }; + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) + throw $TypeError(tryToString(iterable) + ' is not iterable'); + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); +}; + +/***/ }), +/* 155 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var wellKnownSymbol = __w_pdfjs_require__(34); +var Iterators = __w_pdfjs_require__(156); +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +/***/ }), +/* 156 */ +/***/ ((module) => { + + +module.exports = {}; + +/***/ }), +/* 157 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var aCallable = __w_pdfjs_require__(31); +var anObject = __w_pdfjs_require__(47); +var tryToString = __w_pdfjs_require__(32); +var getIteratorMethod = __w_pdfjs_require__(158); +var $TypeError = TypeError; +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) + return anObject(call(iteratorMethod, argument)); + throw $TypeError(tryToString(argument) + ' is not iterable'); +}; + +/***/ }), +/* 158 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classof = __w_pdfjs_require__(78); +var getMethod = __w_pdfjs_require__(30); +var isNullOrUndefined = __w_pdfjs_require__(17); +var Iterators = __w_pdfjs_require__(156); +var wellKnownSymbol = __w_pdfjs_require__(34); +var ITERATOR = wellKnownSymbol('iterator'); +module.exports = function (it) { + if (!isNullOrUndefined(it)) + return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)]; +}; + +/***/ }), +/* 159 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toPropertyKey = __w_pdfjs_require__(18); +var definePropertyModule = __w_pdfjs_require__(45); +var createPropertyDescriptor = __w_pdfjs_require__(11); +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) + definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else + object[propertyKey] = value; +}; + +/***/ }), +/* 160 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var hasOwn = __w_pdfjs_require__(39); +var isPrototypeOf = __w_pdfjs_require__(25); +var regExpFlags = __w_pdfjs_require__(161); +var RegExpPrototype = RegExp.prototype; +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) ? call(regExpFlags, R) : flags; +}; + +/***/ }), +/* 161 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var anObject = __w_pdfjs_require__(47); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) + result += 'd'; + if (that.global) + result += 'g'; + if (that.ignoreCase) + result += 'i'; + if (that.multiline) + result += 'm'; + if (that.dotAll) + result += 's'; + if (that.unicode) + result += 'u'; + if (that.unicodeSets) + result += 'v'; + if (that.sticky) + result += 'y'; + return result; +}; + +/***/ }), +/* 162 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var MapPrototype = Map.prototype; +module.exports = { + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + +/***/ }), +/* 163 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SerializableEmpty = exports.PrintAnnotationStorage = exports.AnnotationStorage = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(149); +__w_pdfjs_require__(152); +var _util = __w_pdfjs_require__(1); +var _editor = __w_pdfjs_require__(164); +var _murmurhash = __w_pdfjs_require__(170); +const SerializableEmpty = Object.freeze({ + map: null, + hash: "", + transfers: undefined +}); +exports.SerializableEmpty = SerializableEmpty; +class AnnotationStorage { + #modified = false; + #storage = new Map(); + constructor() { + this.onSetModified = null; + this.onResetModified = null; + this.onAnnotationEditor = null; + } + getValue(key, defaultValue) { + const value = this.#storage.get(key); + if (value === undefined) { + return defaultValue; + } + return Object.assign(defaultValue, value); + } + getRawValue(key) { + return this.#storage.get(key); + } + remove(key) { + this.#storage.delete(key); + if (this.#storage.size === 0) { + this.resetModified(); + } + if (typeof this.onAnnotationEditor === "function") { + for (const value of this.#storage.values()) { + if (value instanceof _editor.AnnotationEditor) { + return; + } + } + this.onAnnotationEditor(null); + } + } + setValue(key, value) { + const obj = this.#storage.get(key); + let modified = false; + if (obj !== undefined) { + for (const [entry, val] of Object.entries(value)) { + if (obj[entry] !== val) { + modified = true; + obj[entry] = val; + } + } + } else { + modified = true; + this.#storage.set(key, value); + } + if (modified) { + this.#setModified(); + } + if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === "function") { + this.onAnnotationEditor(value.constructor._type); + } + } + has(key) { + return this.#storage.has(key); + } + getAll() { + return this.#storage.size > 0 ? (0, _util.objectFromMap)(this.#storage) : null; + } + setAll(obj) { + for (const [key, val] of Object.entries(obj)) { + this.setValue(key, val); + } + } + get size() { + return this.#storage.size; + } + #setModified() { + if (!this.#modified) { + this.#modified = true; + if (typeof this.onSetModified === "function") { + this.onSetModified(); + } + } + } + resetModified() { + if (this.#modified) { + this.#modified = false; + if (typeof this.onResetModified === "function") { + this.onResetModified(); + } + } + } + get print() { + return new PrintAnnotationStorage(this); + } + get serializable() { + if (this.#storage.size === 0) { + return SerializableEmpty; + } + const map = new Map(), + hash = new _murmurhash.MurmurHash3_64(), + transfers = []; + const context = Object.create(null); + let hasBitmap = false; + for (const [key, val] of this.#storage) { + const serialized = val instanceof _editor.AnnotationEditor ? val.serialize(false, context) : val; + if (serialized) { + map.set(key, serialized); + hash.update(`${key}:${JSON.stringify(serialized)}`); + hasBitmap ||= !!serialized.bitmap; + } + } + if (hasBitmap) { + for (const value of map.values()) { + if (value.bitmap) { + transfers.push(value.bitmap); + } + } + } + return map.size > 0 ? { + map, + hash: hash.hexdigest(), + transfers + } : SerializableEmpty; + } +} +exports.AnnotationStorage = AnnotationStorage; +class PrintAnnotationStorage extends AnnotationStorage { + #serializable; + constructor(parent) { + super(); + const { + map, + hash, + transfers + } = parent.serializable; + const clone = structuredClone(map, null); + this.#serializable = { + map: clone, + hash, + transfers + }; + } + get print() { + (0, _util.unreachable)("Should not call PrintAnnotationStorage.print"); + } + get serializable() { + return this.#serializable; + } +} +exports.PrintAnnotationStorage = PrintAnnotationStorage; + +/***/ }), +/* 164 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationEditor = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(2); +var _tools = __w_pdfjs_require__(165); +var _util = __w_pdfjs_require__(1); +class AnnotationEditor { + #keepAspectRatio = false; + #resizersDiv = null; + #boundFocusin = this.focusin.bind(this); + #boundFocusout = this.focusout.bind(this); + #hasBeenClicked = false; + #isEditing = false; + #isInEditMode = false; + _initialOptions = Object.create(null); + _uiManager = null; + _focusEventsAllowed = true; + #isDraggable = false; + #zIndex = AnnotationEditor._zIndex++; + static _colorManager = new _tools.ColorManager(); + static _zIndex = 1; + constructor(parameters) { + if (this.constructor === AnnotationEditor) { + (0, _util.unreachable)("Cannot initialize AnnotationEditor."); + } + this.parent = parameters.parent; + this.id = parameters.id; + this.width = this.height = null; + this.pageIndex = parameters.parent.pageIndex; + this.name = parameters.name; + this.div = null; + this._uiManager = parameters.uiManager; + this.annotationElementId = null; + this._willKeepAspectRatio = false; + this._initialOptions.isCentered = parameters.isCentered; + const { + rotation, + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } = this.parent.viewport; + this.rotation = rotation; + this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360; + this.pageDimensions = [pageWidth, pageHeight]; + this.pageTranslation = [pageX, pageY]; + const [width, height] = this.parentDimensions; + this.x = parameters.x / width; + this.y = parameters.y / height; + this.isAttachedToDOM = false; + this.deleted = false; + } + static get _defaultLineColor() { + return (0, _util.shadow)(this, "_defaultLineColor", this._colorManager.getHexCode("CanvasText")); + } + static deleteAnnotationElement(editor) { + const fakeEditor = new FakeEditor({ + id: editor.parent.getNextId(), + parent: editor.parent, + uiManager: editor._uiManager + }); + fakeEditor.annotationElementId = editor.annotationElementId; + fakeEditor.deleted = true; + fakeEditor._uiManager.addToAnnotationStorage(fakeEditor); + } + static initialize(_l10n) {} + static updateDefaultParams(_type, _value) {} + static get defaultPropertiesToUpdate() { + return []; + } + static isHandlingMimeForPasting(_mime) { + return false; + } + static paste(item, parent) { + (0, _util.unreachable)("Not implemented"); + } + get propertiesToUpdate() { + return []; + } + get _isDraggable() { + return this.#isDraggable; + } + set _isDraggable(value) { + this.#isDraggable = value; + this.div?.classList.toggle("draggable", value); + } + center() { + const [pageWidth, pageHeight] = this.pageDimensions; + switch (this.parentRotation) { + case 90: + this.x -= this.height * pageHeight / (pageWidth * 2); + this.y += this.width * pageWidth / (pageHeight * 2); + break; + case 180: + this.x += this.width / 2; + this.y += this.height / 2; + break; + case 270: + this.x += this.height * pageHeight / (pageWidth * 2); + this.y -= this.width * pageWidth / (pageHeight * 2); + break; + default: + this.x -= this.width / 2; + this.y -= this.height / 2; + break; + } + this.fixAndSetPosition(); + } + addCommands(params) { + this._uiManager.addCommands(params); + } + get currentLayer() { + return this._uiManager.currentLayer; + } + setInBackground() { + this.div.style.zIndex = 0; + } + setInForeground() { + this.div.style.zIndex = this.#zIndex; + } + setParent(parent) { + if (parent !== null) { + this.pageIndex = parent.pageIndex; + this.pageDimensions = parent.pageDimensions; + } + this.parent = parent; + } + focusin(event) { + if (!this._focusEventsAllowed) { + return; + } + if (!this.#hasBeenClicked) { + this.parent.setSelected(this); + } else { + this.#hasBeenClicked = false; + } + } + focusout(event) { + if (!this._focusEventsAllowed) { + return; + } + if (!this.isAttachedToDOM) { + return; + } + const target = event.relatedTarget; + if (target?.closest(`#${this.id}`)) { + return; + } + event.preventDefault(); + if (!this.parent?.isMultipleSelection) { + this.commitOrRemove(); + } + } + commitOrRemove() { + if (this.isEmpty()) { + this.remove(); + } else { + this.commit(); + } + } + commit() { + this.addToAnnotationStorage(); + } + addToAnnotationStorage() { + this._uiManager.addToAnnotationStorage(this); + } + setAt(x, y, tx, ty) { + const [width, height] = this.parentDimensions; + [tx, ty] = this.screenToPageTranslation(tx, ty); + this.x = (x + tx) / width; + this.y = (y + ty) / height; + this.fixAndSetPosition(); + } + #translate(_ref, x, y) { + let [width, height] = _ref; + [x, y] = this.screenToPageTranslation(x, y); + this.x += x / width; + this.y += y / height; + this.fixAndSetPosition(); + } + translate(x, y) { + this.#translate(this.parentDimensions, x, y); + } + translateInPage(x, y) { + this.#translate(this.pageDimensions, x, y); + this.moveInDOM(); + this.div.scrollIntoView({ + block: "nearest" + }); + } + drag(tx, ty) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.x += tx / parentWidth; + this.y += ty / parentHeight; + if (this.x < 0 || this.x > 1 || this.y < 0 || this.y > 1) { + const { + x, + y + } = this.div.getBoundingClientRect(); + if (this.parent.findNewParent(this, x, y)) { + this.x -= Math.floor(this.x); + this.y -= Math.floor(this.y); + } + } + this.div.style.left = `${(100 * this.x).toFixed(2)}%`; + this.div.style.top = `${(100 * this.y).toFixed(2)}%`; + this.div.scrollIntoView({ + block: "nearest" + }); + } + fixAndSetPosition() { + const [pageWidth, pageHeight] = this.pageDimensions; + let { + x, + y, + width, + height + } = this; + width *= pageWidth; + height *= pageHeight; + x *= pageWidth; + y *= pageHeight; + switch (this.rotation) { + case 0: + x = Math.max(0, Math.min(pageWidth - width, x)); + y = Math.max(0, Math.min(pageHeight - height, y)); + break; + case 90: + x = Math.max(0, Math.min(pageWidth - height, x)); + y = Math.min(pageHeight, Math.max(width, y)); + break; + case 180: + x = Math.min(pageWidth, Math.max(width, x)); + y = Math.min(pageHeight, Math.max(height, y)); + break; + case 270: + x = Math.min(pageWidth, Math.max(height, x)); + y = Math.max(0, Math.min(pageHeight - width, y)); + break; + } + this.x = x / pageWidth; + this.y = y / pageHeight; + this.div.style.left = `${(100 * this.x).toFixed(2)}%`; + this.div.style.top = `${(100 * this.y).toFixed(2)}%`; + } + static #rotatePoint(x, y, angle) { + switch (angle) { + case 90: + return [y, -x]; + case 180: + return [-x, -y]; + case 270: + return [-y, x]; + default: + return [x, y]; + } + } + screenToPageTranslation(x, y) { + return AnnotationEditor.#rotatePoint(x, y, this.parentRotation); + } + pageTranslationToScreen(x, y) { + return AnnotationEditor.#rotatePoint(x, y, 360 - this.parentRotation); + } + #getRotationMatrix(rotation) { + switch (rotation) { + case 90: + { + const [pageWidth, pageHeight] = this.pageDimensions; + return [0, -pageWidth / pageHeight, pageHeight / pageWidth, 0]; + } + case 180: + return [-1, 0, 0, -1]; + case 270: + { + const [pageWidth, pageHeight] = this.pageDimensions; + return [0, pageWidth / pageHeight, -pageHeight / pageWidth, 0]; + } + default: + return [1, 0, 0, 1]; + } + } + get parentScale() { + return this._uiManager.viewParameters.realScale; + } + get parentRotation() { + return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360; + } + get parentDimensions() { + const { + parentScale, + pageDimensions: [pageWidth, pageHeight] + } = this; + const scaledWidth = pageWidth * parentScale; + const scaledHeight = pageHeight * parentScale; + return _util.FeatureTest.isCSSRoundSupported ? [Math.round(scaledWidth), Math.round(scaledHeight)] : [scaledWidth, scaledHeight]; + } + setDims(width, height) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.div.style.width = `${(100 * width / parentWidth).toFixed(2)}%`; + if (!this.#keepAspectRatio) { + this.div.style.height = `${(100 * height / parentHeight).toFixed(2)}%`; + } + } + fixDims() { + const { + style + } = this.div; + const { + height, + width + } = style; + const widthPercent = width.endsWith("%"); + const heightPercent = !this.#keepAspectRatio && height.endsWith("%"); + if (widthPercent && heightPercent) { + return; + } + const [parentWidth, parentHeight] = this.parentDimensions; + if (!widthPercent) { + style.width = `${(100 * parseFloat(width) / parentWidth).toFixed(2)}%`; + } + if (!this.#keepAspectRatio && !heightPercent) { + style.height = `${(100 * parseFloat(height) / parentHeight).toFixed(2)}%`; + } + } + getInitialTranslation() { + return [0, 0]; + } + static #noContextMenu(e) { + e.preventDefault(); + } + #createResizers() { + if (this.#resizersDiv) { + return; + } + this.#resizersDiv = document.createElement("div"); + this.#resizersDiv.classList.add("resizers"); + const classes = ["topLeft", "topRight", "bottomRight", "bottomLeft"]; + if (!this._willKeepAspectRatio) { + classes.push("topMiddle", "middleRight", "bottomMiddle", "middleLeft"); + } + for (const name of classes) { + const div = document.createElement("div"); + this.#resizersDiv.append(div); + div.classList.add("resizer", name); + div.addEventListener("pointerdown", this.#resizerPointerdown.bind(this, name)); + div.addEventListener("contextmenu", AnnotationEditor.#noContextMenu); + } + this.div.prepend(this.#resizersDiv); + } + #resizerPointerdown(name, event) { + event.preventDefault(); + const { + isMac + } = _util.FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + const boundResizerPointermove = this.#resizerPointermove.bind(this, name); + const savedDraggable = this._isDraggable; + this._isDraggable = false; + const pointerMoveOptions = { + passive: true, + capture: true + }; + window.addEventListener("pointermove", boundResizerPointermove, pointerMoveOptions); + const savedX = this.x; + const savedY = this.y; + const savedWidth = this.width; + const savedHeight = this.height; + const savedParentCursor = this.parent.div.style.cursor; + const savedCursor = this.div.style.cursor; + this.div.style.cursor = this.parent.div.style.cursor = window.getComputedStyle(event.target).cursor; + const pointerUpCallback = () => { + this._isDraggable = savedDraggable; + window.removeEventListener("pointerup", pointerUpCallback); + window.removeEventListener("blur", pointerUpCallback); + window.removeEventListener("pointermove", boundResizerPointermove, pointerMoveOptions); + this.parent.div.style.cursor = savedParentCursor; + this.div.style.cursor = savedCursor; + const newX = this.x; + const newY = this.y; + const newWidth = this.width; + const newHeight = this.height; + if (newX === savedX && newY === savedY && newWidth === savedWidth && newHeight === savedHeight) { + return; + } + this.addCommands({ + cmd: () => { + this.width = newWidth; + this.height = newHeight; + this.x = newX; + this.y = newY; + const [parentWidth, parentHeight] = this.parentDimensions; + this.setDims(parentWidth * newWidth, parentHeight * newHeight); + this.fixAndSetPosition(); + this.moveInDOM(); + }, + undo: () => { + this.width = savedWidth; + this.height = savedHeight; + this.x = savedX; + this.y = savedY; + const [parentWidth, parentHeight] = this.parentDimensions; + this.setDims(parentWidth * savedWidth, parentHeight * savedHeight); + this.fixAndSetPosition(); + this.moveInDOM(); + }, + mustExec: true + }); + }; + window.addEventListener("pointerup", pointerUpCallback); + window.addEventListener("blur", pointerUpCallback); + } + #resizerPointermove(name, event) { + const [parentWidth, parentHeight] = this.parentDimensions; + const savedX = this.x; + const savedY = this.y; + const savedWidth = this.width; + const savedHeight = this.height; + const minWidth = AnnotationEditor.MIN_SIZE / parentWidth; + const minHeight = AnnotationEditor.MIN_SIZE / parentHeight; + const round = x => Math.round(x * 10000) / 10000; + const rotationMatrix = this.#getRotationMatrix(this.rotation); + const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y]; + const invRotationMatrix = this.#getRotationMatrix(360 - this.rotation); + const invTransf = (x, y) => [invRotationMatrix[0] * x + invRotationMatrix[2] * y, invRotationMatrix[1] * x + invRotationMatrix[3] * y]; + let getPoint; + let getOpposite; + let isDiagonal = false; + let isHorizontal = false; + switch (name) { + case "topLeft": + isDiagonal = true; + getPoint = (w, h) => [0, 0]; + getOpposite = (w, h) => [w, h]; + break; + case "topMiddle": + getPoint = (w, h) => [w / 2, 0]; + getOpposite = (w, h) => [w / 2, h]; + break; + case "topRight": + isDiagonal = true; + getPoint = (w, h) => [w, 0]; + getOpposite = (w, h) => [0, h]; + break; + case "middleRight": + isHorizontal = true; + getPoint = (w, h) => [w, h / 2]; + getOpposite = (w, h) => [0, h / 2]; + break; + case "bottomRight": + isDiagonal = true; + getPoint = (w, h) => [w, h]; + getOpposite = (w, h) => [0, 0]; + break; + case "bottomMiddle": + getPoint = (w, h) => [w / 2, h]; + getOpposite = (w, h) => [w / 2, 0]; + break; + case "bottomLeft": + isDiagonal = true; + getPoint = (w, h) => [0, h]; + getOpposite = (w, h) => [w, 0]; + break; + case "middleLeft": + isHorizontal = true; + getPoint = (w, h) => [0, h / 2]; + getOpposite = (w, h) => [w, h / 2]; + break; + } + const point = getPoint(savedWidth, savedHeight); + const oppositePoint = getOpposite(savedWidth, savedHeight); + let transfOppositePoint = transf(...oppositePoint); + const oppositeX = round(savedX + transfOppositePoint[0]); + const oppositeY = round(savedY + transfOppositePoint[1]); + let ratioX = 1; + let ratioY = 1; + let [deltaX, deltaY] = this.screenToPageTranslation(event.movementX, event.movementY); + [deltaX, deltaY] = invTransf(deltaX / parentWidth, deltaY / parentHeight); + if (isDiagonal) { + const oldDiag = Math.hypot(savedWidth, savedHeight); + ratioX = ratioY = Math.max(Math.min(Math.hypot(oppositePoint[0] - point[0] - deltaX, oppositePoint[1] - point[1] - deltaY) / oldDiag, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight); + } else if (isHorizontal) { + ratioX = Math.max(minWidth, Math.min(1, Math.abs(oppositePoint[0] - point[0] - deltaX))) / savedWidth; + } else { + ratioY = Math.max(minHeight, Math.min(1, Math.abs(oppositePoint[1] - point[1] - deltaY))) / savedHeight; + } + const newWidth = round(savedWidth * ratioX); + const newHeight = round(savedHeight * ratioY); + transfOppositePoint = transf(...getOpposite(newWidth, newHeight)); + const newX = oppositeX - transfOppositePoint[0]; + const newY = oppositeY - transfOppositePoint[1]; + this.width = newWidth; + this.height = newHeight; + this.x = newX; + this.y = newY; + this.setDims(parentWidth * newWidth, parentHeight * newHeight); + this.fixAndSetPosition(); + } + render() { + this.div = document.createElement("div"); + this.div.setAttribute("data-editor-rotation", (360 - this.rotation) % 360); + this.div.className = this.name; + this.div.setAttribute("id", this.id); + this.div.setAttribute("tabIndex", 0); + this.setInForeground(); + this.div.addEventListener("focusin", this.#boundFocusin); + this.div.addEventListener("focusout", this.#boundFocusout); + const [parentWidth, parentHeight] = this.parentDimensions; + if (this.parentRotation % 180 !== 0) { + this.div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`; + this.div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`; + } + const [tx, ty] = this.getInitialTranslation(); + this.translate(tx, ty); + (0, _tools.bindEvents)(this, this.div, ["pointerdown"]); + return this.div; + } + pointerdown(event) { + const { + isMac + } = _util.FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + event.preventDefault(); + return; + } + this.#hasBeenClicked = true; + this.#setUpDragSession(event); + } + #setUpDragSession(event) { + if (!this._isDraggable) { + return; + } + const isSelected = this._uiManager.isSelected(this); + this._uiManager.setUpDragSession(); + let pointerMoveOptions, pointerMoveCallback; + if (isSelected) { + pointerMoveOptions = { + passive: true, + capture: true + }; + pointerMoveCallback = e => { + const [tx, ty] = this.screenToPageTranslation(e.movementX, e.movementY); + this._uiManager.dragSelectedEditors(tx, ty); + }; + window.addEventListener("pointermove", pointerMoveCallback, pointerMoveOptions); + } + const pointerUpCallback = () => { + window.removeEventListener("pointerup", pointerUpCallback); + window.removeEventListener("blur", pointerUpCallback); + if (isSelected) { + window.removeEventListener("pointermove", pointerMoveCallback, pointerMoveOptions); + } + this.#hasBeenClicked = false; + if (!this._uiManager.endDragSession()) { + const { + isMac + } = _util.FeatureTest.platform; + if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) { + this.parent.toggleSelected(this); + } else { + this.parent.setSelected(this); + } + } + }; + window.addEventListener("pointerup", pointerUpCallback); + window.addEventListener("blur", pointerUpCallback); + } + moveInDOM() { + this.parent.moveEditorInDOM(this); + } + _setParentAndPosition(parent, x, y) { + parent.changeParent(this); + this.x = x; + this.y = y; + this.fixAndSetPosition(); + this.moveInDOM(); + } + getRect(tx, ty) { + const scale = this.parentScale; + const [pageWidth, pageHeight] = this.pageDimensions; + const [pageX, pageY] = this.pageTranslation; + const shiftX = tx / scale; + const shiftY = ty / scale; + const x = this.x * pageWidth; + const y = this.y * pageHeight; + const width = this.width * pageWidth; + const height = this.height * pageHeight; + switch (this.rotation) { + case 0: + return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY]; + case 90: + return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY]; + case 180: + return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY]; + case 270: + return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY]; + default: + throw new Error("Invalid rotation"); + } + } + getRectInCurrentCoords(rect, pageHeight) { + const [x1, y1, x2, y2] = rect; + const width = x2 - x1; + const height = y2 - y1; + switch (this.rotation) { + case 0: + return [x1, pageHeight - y2, width, height]; + case 90: + return [x1, pageHeight - y1, height, width]; + case 180: + return [x2, pageHeight - y1, width, height]; + case 270: + return [x2, pageHeight - y2, height, width]; + default: + throw new Error("Invalid rotation"); + } + } + onceAdded() {} + isEmpty() { + return false; + } + enableEditMode() { + this.#isInEditMode = true; + } + disableEditMode() { + this.#isInEditMode = false; + } + isInEditMode() { + return this.#isInEditMode; + } + shouldGetKeyboardEvents() { + return false; + } + needsToBeRebuilt() { + return this.div && !this.isAttachedToDOM; + } + rebuild() { + this.div?.addEventListener("focusin", this.#boundFocusin); + this.div?.addEventListener("focusout", this.#boundFocusout); + } + serialize() { + let _isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + let _context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + (0, _util.unreachable)("An editor must be serializable"); + } + static deserialize(data, parent, uiManager) { + const editor = new this.prototype.constructor({ + parent, + id: parent.getNextId(), + uiManager + }); + editor.rotation = data.rotation; + const [pageWidth, pageHeight] = editor.pageDimensions; + const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight); + editor.x = x / pageWidth; + editor.y = y / pageHeight; + editor.width = width / pageWidth; + editor.height = height / pageHeight; + return editor; + } + remove() { + this.div.removeEventListener("focusin", this.#boundFocusin); + this.div.removeEventListener("focusout", this.#boundFocusout); + if (!this.isEmpty()) { + this.commit(); + } + if (this.parent) { + this.parent.remove(this); + } else { + this._uiManager.removeEditor(this); + } + } + get isResizable() { + return false; + } + makeResizable() { + if (this.isResizable) { + this.#createResizers(); + this.#resizersDiv.classList.remove("hidden"); + } + } + select() { + this.makeResizable(); + this.div?.classList.add("selectedEditor"); + } + unselect() { + this.#resizersDiv?.classList.add("hidden"); + this.div?.classList.remove("selectedEditor"); + if (this.div?.contains(document.activeElement)) { + this._uiManager.currentLayer.div.focus(); + } + } + updateParams(type, value) {} + disableEditing() {} + enableEditing() {} + enterInEditMode() {} + get contentDiv() { + return this.div; + } + get isEditing() { + return this.#isEditing; + } + set isEditing(value) { + this.#isEditing = value; + if (!this.parent) { + return; + } + if (value) { + this.parent.setSelected(this); + this.parent.setActiveEditor(this); + } else { + this.parent.setActiveEditor(null); + } + } + setAspectRatio(width, height) { + this.#keepAspectRatio = true; + const aspectRatio = width / height; + const { + style + } = this.div; + style.aspectRatio = aspectRatio; + style.height = "auto"; + } + static get MIN_SIZE() { + return 16; + } +} +exports.AnnotationEditor = AnnotationEditor; +class FakeEditor extends AnnotationEditor { + constructor(params) { + super(params); + this.annotationElementId = params.annotationElementId; + this.deleted = true; + } + serialize() { + return { + id: this.annotationElementId, + deleted: true, + pageIndex: this.pageIndex + }; + } +} + +/***/ }), +/* 165 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0; +exports.bindEvents = bindEvents; +exports.opacityToHex = opacityToHex; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(2); +__w_pdfjs_require__(89); +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +__w_pdfjs_require__(166); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +function bindEvents(obj, element, names) { + for (const name of names) { + element.addEventListener(name, obj[name].bind(obj)); + } +} +function opacityToHex(opacity) { + return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, "0"); +} +class IdManager { + #id = 0; + getId() { + return `${_util.AnnotationEditorPrefix}${this.#id++}`; + } +} +class ImageManager { + #baseId = (0, _util.getUuid)(); + #id = 0; + #cache = null; + static get _isSVGFittingCanvas() { + const svg = `data:image/svg+xml;charset=UTF-8,`; + const canvas = new OffscreenCanvas(1, 3); + const ctx = canvas.getContext("2d"); + const image = new Image(); + image.src = svg; + const promise = image.decode().then(() => { + ctx.drawImage(image, 0, 0, 1, 1, 0, 0, 1, 3); + return new Uint32Array(ctx.getImageData(0, 0, 1, 1).data.buffer)[0] === 0; + }); + return (0, _util.shadow)(this, "_isSVGFittingCanvas", promise); + } + async #get(key, rawData) { + this.#cache ||= new Map(); + let data = this.#cache.get(key); + if (data === null) { + return null; + } + if (data?.bitmap) { + data.refCounter += 1; + return data; + } + try { + data ||= { + bitmap: null, + id: `image_${this.#baseId}_${this.#id++}`, + refCounter: 0, + isSvg: false + }; + let image; + if (typeof rawData === "string") { + data.url = rawData; + const response = await fetch(rawData); + if (!response.ok) { + throw new Error(response.statusText); + } + image = await response.blob(); + } else { + image = data.file = rawData; + } + if (image.type === "image/svg+xml") { + const mustRemoveAspectRatioPromise = ImageManager._isSVGFittingCanvas; + const fileReader = new FileReader(); + const imageElement = new Image(); + const imagePromise = new Promise((resolve, reject) => { + imageElement.onload = () => { + data.bitmap = imageElement; + data.isSvg = true; + resolve(); + }; + fileReader.onload = async () => { + const url = data.svgUrl = fileReader.result; + imageElement.src = (await mustRemoveAspectRatioPromise) ? `${url}#svgView(preserveAspectRatio(none))` : url; + }; + imageElement.onerror = fileReader.onerror = reject; + }); + fileReader.readAsDataURL(image); + await imagePromise; + } else { + data.bitmap = await createImageBitmap(image); + } + data.refCounter = 1; + } catch (e) { + console.error(e); + data = null; + } + this.#cache.set(key, data); + if (data) { + this.#cache.set(data.id, data); + } + return data; + } + async getFromFile(file) { + const { + lastModified, + name, + size, + type + } = file; + return this.#get(`${lastModified}_${name}_${size}_${type}`, file); + } + async getFromUrl(url) { + return this.#get(url, url); + } + async getFromId(id) { + this.#cache ||= new Map(); + const data = this.#cache.get(id); + if (!data) { + return null; + } + if (data.bitmap) { + data.refCounter += 1; + return data; + } + if (data.file) { + return this.getFromFile(data.file); + } + return this.getFromUrl(data.url); + } + getSvgUrl(id) { + const data = this.#cache.get(id); + if (!data?.isSvg) { + return null; + } + return data.svgUrl; + } + deleteId(id) { + this.#cache ||= new Map(); + const data = this.#cache.get(id); + if (!data) { + return; + } + data.refCounter -= 1; + if (data.refCounter !== 0) { + return; + } + data.bitmap = null; + } + isValidId(id) { + return id.startsWith(`image_${this.#baseId}_`); + } +} +class CommandManager { + #commands = []; + #locked = false; + #maxSize; + #position = -1; + constructor() { + let maxSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 128; + this.#maxSize = maxSize; + } + add(_ref) { + let { + cmd, + undo, + mustExec, + type = NaN, + overwriteIfSameType = false, + keepUndo = false + } = _ref; + if (mustExec) { + cmd(); + } + if (this.#locked) { + return; + } + const save = { + cmd, + undo, + type + }; + if (this.#position === -1) { + if (this.#commands.length > 0) { + this.#commands.length = 0; + } + this.#position = 0; + this.#commands.push(save); + return; + } + if (overwriteIfSameType && this.#commands[this.#position].type === type) { + if (keepUndo) { + save.undo = this.#commands[this.#position].undo; + } + this.#commands[this.#position] = save; + return; + } + const next = this.#position + 1; + if (next === this.#maxSize) { + this.#commands.splice(0, 1); + } else { + this.#position = next; + if (next < this.#commands.length) { + this.#commands.splice(next); + } + } + this.#commands.push(save); + } + undo() { + if (this.#position === -1) { + return; + } + this.#locked = true; + this.#commands[this.#position].undo(); + this.#locked = false; + this.#position -= 1; + } + redo() { + if (this.#position < this.#commands.length - 1) { + this.#position += 1; + this.#locked = true; + this.#commands[this.#position].cmd(); + this.#locked = false; + } + } + hasSomethingToUndo() { + return this.#position !== -1; + } + hasSomethingToRedo() { + return this.#position < this.#commands.length - 1; + } + destroy() { + this.#commands = null; + } +} +exports.CommandManager = CommandManager; +class KeyboardManager { + constructor(callbacks) { + this.buffer = []; + this.callbacks = new Map(); + this.allKeys = new Set(); + const { + isMac + } = _util.FeatureTest.platform; + for (const [keys, callback, options = {}] of callbacks) { + for (const key of keys) { + const isMacKey = key.startsWith("mac+"); + if (isMac && isMacKey) { + this.callbacks.set(key.slice(4), { + callback, + options + }); + this.allKeys.add(key.split("+").at(-1)); + } else if (!isMac && !isMacKey) { + this.callbacks.set(key, { + callback, + options + }); + this.allKeys.add(key.split("+").at(-1)); + } + } + } + } + #serialize(event) { + if (event.altKey) { + this.buffer.push("alt"); + } + if (event.ctrlKey) { + this.buffer.push("ctrl"); + } + if (event.metaKey) { + this.buffer.push("meta"); + } + if (event.shiftKey) { + this.buffer.push("shift"); + } + this.buffer.push(event.key); + const str = this.buffer.join("+"); + this.buffer.length = 0; + return str; + } + exec(self, event) { + if (!this.allKeys.has(event.key)) { + return; + } + const info = this.callbacks.get(this.#serialize(event)); + if (!info) { + return; + } + const { + callback, + options: { + bubbles = false, + args = [], + checker = null + } + } = info; + if (checker && !checker(self, event)) { + return; + } + callback.bind(self, ...args)(); + if (!bubbles) { + event.stopPropagation(); + event.preventDefault(); + } + } +} +exports.KeyboardManager = KeyboardManager; +class ColorManager { + static _colorsMapping = new Map([["CanvasText", [0, 0, 0]], ["Canvas", [255, 255, 255]]]); + get _colors() { + const colors = new Map([["CanvasText", null], ["Canvas", null]]); + (0, _display_utils.getColorValues)(colors); + return (0, _util.shadow)(this, "_colors", colors); + } + convert(color) { + const rgb = (0, _display_utils.getRGB)(color); + if (!window.matchMedia("(forced-colors: active)").matches) { + return rgb; + } + for (const [name, RGB] of this._colors) { + if (RGB.every((x, i) => x === rgb[i])) { + return ColorManager._colorsMapping.get(name); + } + } + return rgb; + } + getHexCode(name) { + const rgb = this._colors.get(name); + if (!rgb) { + return name; + } + return _util.Util.makeHexColor(...rgb); + } +} +exports.ColorManager = ColorManager; +class AnnotationEditorUIManager { + #activeEditor = null; + #allEditors = new Map(); + #allLayers = new Map(); + #annotationStorage = null; + #commandManager = new CommandManager(); + #currentPageIndex = 0; + #deletedAnnotationsElementIds = new Set(); + #draggingEditors = null; + #editorTypes = null; + #editorsToRescale = new Set(); + #eventBus = null; + #filterFactory = null; + #idManager = new IdManager(); + #isEnabled = false; + #isWaiting = false; + #lastActiveElement = null; + #mode = _util.AnnotationEditorType.NONE; + #selectedEditors = new Set(); + #pageColors = null; + #boundBlur = this.blur.bind(this); + #boundFocus = this.focus.bind(this); + #boundCopy = this.copy.bind(this); + #boundCut = this.cut.bind(this); + #boundPaste = this.paste.bind(this); + #boundKeydown = this.keydown.bind(this); + #boundOnEditingAction = this.onEditingAction.bind(this); + #boundOnPageChanging = this.onPageChanging.bind(this); + #boundOnScaleChanging = this.onScaleChanging.bind(this); + #boundOnRotationChanging = this.onRotationChanging.bind(this); + #previousStates = { + isEditing: false, + isEmpty: true, + hasSomethingToUndo: false, + hasSomethingToRedo: false, + hasSelectedEditor: false + }; + #translation = [0, 0]; + #translationTimeoutId = null; + #container = null; + #viewer = null; + static TRANSLATE_SMALL = 1; + static TRANSLATE_BIG = 10; + static get _keyboardManager() { + const proto = AnnotationEditorUIManager.prototype; + const arrowChecker = self => { + const { + activeElement + } = document; + return activeElement && self.#container.contains(activeElement) && self.hasSomethingToControl(); + }; + const small = this.TRANSLATE_SMALL; + const big = this.TRANSLATE_BIG; + return (0, _util.shadow)(this, "_keyboardManager", new KeyboardManager([[["ctrl+a", "mac+meta+a"], proto.selectAll], [["ctrl+z", "mac+meta+z"], proto.undo], [["ctrl+y", "ctrl+shift+z", "mac+meta+shift+z", "ctrl+shift+Z", "mac+meta+shift+Z"], proto.redo], [["Backspace", "alt+Backspace", "ctrl+Backspace", "shift+Backspace", "mac+Backspace", "mac+alt+Backspace", "mac+ctrl+Backspace", "Delete", "ctrl+Delete", "shift+Delete", "mac+Delete"], proto.delete], [["Escape", "mac+Escape"], proto.unselectAll], [["ArrowLeft", "mac+ArrowLeft"], proto.translateSelectedEditors, { + args: [-small, 0], + checker: arrowChecker + }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], proto.translateSelectedEditors, { + args: [-big, 0], + checker: arrowChecker + }], [["ArrowRight", "mac+ArrowRight"], proto.translateSelectedEditors, { + args: [small, 0], + checker: arrowChecker + }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], proto.translateSelectedEditors, { + args: [big, 0], + checker: arrowChecker + }], [["ArrowUp", "mac+ArrowUp"], proto.translateSelectedEditors, { + args: [0, -small], + checker: arrowChecker + }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], proto.translateSelectedEditors, { + args: [0, -big], + checker: arrowChecker + }], [["ArrowDown", "mac+ArrowDown"], proto.translateSelectedEditors, { + args: [0, small], + checker: arrowChecker + }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], proto.translateSelectedEditors, { + args: [0, big], + checker: arrowChecker + }]])); + } + constructor(container, viewer, eventBus, pdfDocument, pageColors) { + this.#container = container; + this.#viewer = viewer; + this.#eventBus = eventBus; + this.#eventBus._on("editingaction", this.#boundOnEditingAction); + this.#eventBus._on("pagechanging", this.#boundOnPageChanging); + this.#eventBus._on("scalechanging", this.#boundOnScaleChanging); + this.#eventBus._on("rotationchanging", this.#boundOnRotationChanging); + this.#annotationStorage = pdfDocument.annotationStorage; + this.#filterFactory = pdfDocument.filterFactory; + this.#pageColors = pageColors; + this.viewParameters = { + realScale: _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS, + rotation: 0 + }; + } + destroy() { + this.#removeKeyboardManager(); + this.#removeFocusManager(); + this.#eventBus._off("editingaction", this.#boundOnEditingAction); + this.#eventBus._off("pagechanging", this.#boundOnPageChanging); + this.#eventBus._off("scalechanging", this.#boundOnScaleChanging); + this.#eventBus._off("rotationchanging", this.#boundOnRotationChanging); + for (const layer of this.#allLayers.values()) { + layer.destroy(); + } + this.#allLayers.clear(); + this.#allEditors.clear(); + this.#editorsToRescale.clear(); + this.#activeEditor = null; + this.#selectedEditors.clear(); + this.#commandManager.destroy(); + } + get hcmFilter() { + return (0, _util.shadow)(this, "hcmFilter", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : "none"); + } + onPageChanging(_ref2) { + let { + pageNumber + } = _ref2; + this.#currentPageIndex = pageNumber - 1; + } + focusMainContainer() { + this.#container.focus(); + } + findParent(x, y) { + for (const layer of this.#allLayers.values()) { + const { + x: layerX, + y: layerY, + width, + height + } = layer.div.getBoundingClientRect(); + if (x >= layerX && x <= layerX + width && y >= layerY && y <= layerY + height) { + return layer; + } + } + return null; + } + disableUserSelect() { + let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.#viewer.classList.toggle("noUserSelect", value); + } + addShouldRescale(editor) { + this.#editorsToRescale.add(editor); + } + removeShouldRescale(editor) { + this.#editorsToRescale.delete(editor); + } + onScaleChanging(_ref3) { + let { + scale + } = _ref3; + this.commitOrRemove(); + this.viewParameters.realScale = scale * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS; + for (const editor of this.#editorsToRescale) { + editor.onScaleChanging(); + } + } + onRotationChanging(_ref4) { + let { + pagesRotation + } = _ref4; + this.commitOrRemove(); + this.viewParameters.rotation = pagesRotation; + } + addToAnnotationStorage(editor) { + if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) { + this.#annotationStorage.setValue(editor.id, editor); + } + } + #addFocusManager() { + window.addEventListener("focus", this.#boundFocus); + window.addEventListener("blur", this.#boundBlur); + } + #removeFocusManager() { + window.removeEventListener("focus", this.#boundFocus); + window.removeEventListener("blur", this.#boundBlur); + } + blur() { + if (!this.hasSelection) { + return; + } + const { + activeElement + } = document; + for (const editor of this.#selectedEditors) { + if (editor.div.contains(activeElement)) { + this.#lastActiveElement = [editor, activeElement]; + editor._focusEventsAllowed = false; + break; + } + } + } + focus() { + if (!this.#lastActiveElement) { + return; + } + const [lastEditor, lastActiveElement] = this.#lastActiveElement; + this.#lastActiveElement = null; + lastActiveElement.addEventListener("focusin", () => { + lastEditor._focusEventsAllowed = true; + }, { + once: true + }); + lastActiveElement.focus(); + } + #addKeyboardManager() { + window.addEventListener("keydown", this.#boundKeydown, { + capture: true + }); + } + #removeKeyboardManager() { + window.removeEventListener("keydown", this.#boundKeydown, { + capture: true + }); + } + #addCopyPasteListeners() { + document.addEventListener("copy", this.#boundCopy); + document.addEventListener("cut", this.#boundCut); + document.addEventListener("paste", this.#boundPaste); + } + #removeCopyPasteListeners() { + document.removeEventListener("copy", this.#boundCopy); + document.removeEventListener("cut", this.#boundCut); + document.removeEventListener("paste", this.#boundPaste); + } + copy(event) { + event.preventDefault(); + this.#activeEditor?.commitOrRemove(); + if (!this.hasSelection) { + return; + } + const editors = []; + for (const editor of this.#selectedEditors) { + const serialized = editor.serialize(true); + if (serialized) { + editors.push(serialized); + } + } + if (editors.length === 0) { + return; + } + event.clipboardData.setData("application/pdfjs", JSON.stringify(editors)); + } + cut(event) { + this.copy(event); + this.delete(); + } + paste(event) { + event.preventDefault(); + const { + clipboardData + } = event; + for (const item of clipboardData.items) { + for (const editorType of this.#editorTypes) { + if (editorType.isHandlingMimeForPasting(item.type)) { + editorType.paste(item, this.currentLayer); + return; + } + } + } + let data = clipboardData.getData("application/pdfjs"); + if (!data) { + return; + } + try { + data = JSON.parse(data); + } catch (ex) { + (0, _util.warn)(`paste: "${ex.message}".`); + return; + } + if (!Array.isArray(data)) { + return; + } + this.unselectAll(); + const layer = this.currentLayer; + try { + const newEditors = []; + for (const editor of data) { + const deserializedEditor = layer.deserialize(editor); + if (!deserializedEditor) { + return; + } + newEditors.push(deserializedEditor); + } + const cmd = () => { + for (const editor of newEditors) { + this.#addEditorToLayer(editor); + } + this.#selectEditors(newEditors); + }; + const undo = () => { + for (const editor of newEditors) { + editor.remove(); + } + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } catch (ex) { + (0, _util.warn)(`paste: "${ex.message}".`); + } + } + keydown(event) { + if (!this.getActive()?.shouldGetKeyboardEvents()) { + AnnotationEditorUIManager._keyboardManager.exec(this, event); + } + } + onEditingAction(details) { + if (["undo", "redo", "delete", "selectAll"].includes(details.name)) { + this[details.name](); + } + } + #dispatchUpdateStates(details) { + const hasChanged = Object.entries(details).some(_ref5 => { + let [key, value] = _ref5; + return this.#previousStates[key] !== value; + }); + if (hasChanged) { + this.#eventBus.dispatch("annotationeditorstateschanged", { + source: this, + details: Object.assign(this.#previousStates, details) + }); + } + } + #dispatchUpdateUI(details) { + this.#eventBus.dispatch("annotationeditorparamschanged", { + source: this, + details + }); + } + setEditingState(isEditing) { + if (isEditing) { + this.#addFocusManager(); + this.#addKeyboardManager(); + this.#addCopyPasteListeners(); + this.#dispatchUpdateStates({ + isEditing: this.#mode !== _util.AnnotationEditorType.NONE, + isEmpty: this.#isEmpty(), + hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(), + hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(), + hasSelectedEditor: false + }); + } else { + this.#removeFocusManager(); + this.#removeKeyboardManager(); + this.#removeCopyPasteListeners(); + this.#dispatchUpdateStates({ + isEditing: false + }); + this.disableUserSelect(false); + } + } + registerEditorTypes(types) { + if (this.#editorTypes) { + return; + } + this.#editorTypes = types; + for (const editorType of this.#editorTypes) { + this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate); + } + } + getId() { + return this.#idManager.getId(); + } + get currentLayer() { + return this.#allLayers.get(this.#currentPageIndex); + } + getLayer(pageIndex) { + return this.#allLayers.get(pageIndex); + } + get currentPageIndex() { + return this.#currentPageIndex; + } + addLayer(layer) { + this.#allLayers.set(layer.pageIndex, layer); + if (this.#isEnabled) { + layer.enable(); + } else { + layer.disable(); + } + } + removeLayer(layer) { + this.#allLayers.delete(layer.pageIndex); + } + updateMode(mode) { + let editId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (this.#mode === mode) { + return; + } + this.#mode = mode; + if (mode === _util.AnnotationEditorType.NONE) { + this.setEditingState(false); + this.#disableAll(); + return; + } + this.setEditingState(true); + this.#enableAll(); + this.unselectAll(); + for (const layer of this.#allLayers.values()) { + layer.updateMode(mode); + } + if (!editId) { + return; + } + for (const editor of this.#allEditors.values()) { + if (editor.annotationElementId === editId) { + this.setSelected(editor); + editor.enterInEditMode(); + break; + } + } + } + updateToolbar(mode) { + if (mode === this.#mode) { + return; + } + this.#eventBus.dispatch("switchannotationeditormode", { + source: this, + mode + }); + } + updateParams(type, value) { + if (!this.#editorTypes) { + return; + } + if (type === _util.AnnotationEditorParamsType.CREATE) { + this.currentLayer.addNewEditor(type); + return; + } + for (const editor of this.#selectedEditors) { + editor.updateParams(type, value); + } + for (const editorType of this.#editorTypes) { + editorType.updateDefaultParams(type, value); + } + } + enableWaiting() { + let mustWait = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.#isWaiting === mustWait) { + return; + } + this.#isWaiting = mustWait; + for (const layer of this.#allLayers.values()) { + if (mustWait) { + layer.disableClick(); + } else { + layer.enableClick(); + } + layer.div.classList.toggle("waiting", mustWait); + } + } + #enableAll() { + if (!this.#isEnabled) { + this.#isEnabled = true; + for (const layer of this.#allLayers.values()) { + layer.enable(); + } + } + } + #disableAll() { + this.unselectAll(); + if (this.#isEnabled) { + this.#isEnabled = false; + for (const layer of this.#allLayers.values()) { + layer.disable(); + } + } + } + getEditors(pageIndex) { + const editors = []; + for (const editor of this.#allEditors.values()) { + if (editor.pageIndex === pageIndex) { + editors.push(editor); + } + } + return editors; + } + getEditor(id) { + return this.#allEditors.get(id); + } + addEditor(editor) { + this.#allEditors.set(editor.id, editor); + } + removeEditor(editor) { + this.#allEditors.delete(editor.id); + this.unselect(editor); + if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) { + this.#annotationStorage?.remove(editor.id); + } + } + addDeletedAnnotationElement(editor) { + this.#deletedAnnotationsElementIds.add(editor.annotationElementId); + editor.deleted = true; + } + isDeletedAnnotationElement(annotationElementId) { + return this.#deletedAnnotationsElementIds.has(annotationElementId); + } + removeDeletedAnnotationElement(editor) { + this.#deletedAnnotationsElementIds.delete(editor.annotationElementId); + editor.deleted = false; + } + #addEditorToLayer(editor) { + const layer = this.#allLayers.get(editor.pageIndex); + if (layer) { + layer.addOrRebuild(editor); + } else { + this.addEditor(editor); + } + } + setActiveEditor(editor) { + if (this.#activeEditor === editor) { + return; + } + this.#activeEditor = editor; + if (editor) { + this.#dispatchUpdateUI(editor.propertiesToUpdate); + } + } + toggleSelected(editor) { + if (this.#selectedEditors.has(editor)) { + this.#selectedEditors.delete(editor); + editor.unselect(); + this.#dispatchUpdateStates({ + hasSelectedEditor: this.hasSelection + }); + return; + } + this.#selectedEditors.add(editor); + editor.select(); + this.#dispatchUpdateUI(editor.propertiesToUpdate); + this.#dispatchUpdateStates({ + hasSelectedEditor: true + }); + } + setSelected(editor) { + for (const ed of this.#selectedEditors) { + if (ed !== editor) { + ed.unselect(); + } + } + this.#selectedEditors.clear(); + this.#selectedEditors.add(editor); + editor.select(); + this.#dispatchUpdateUI(editor.propertiesToUpdate); + this.#dispatchUpdateStates({ + hasSelectedEditor: true + }); + } + isSelected(editor) { + return this.#selectedEditors.has(editor); + } + unselect(editor) { + editor.unselect(); + this.#selectedEditors.delete(editor); + this.#dispatchUpdateStates({ + hasSelectedEditor: this.hasSelection + }); + } + get hasSelection() { + return this.#selectedEditors.size !== 0; + } + undo() { + this.#commandManager.undo(); + this.#dispatchUpdateStates({ + hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(), + hasSomethingToRedo: true, + isEmpty: this.#isEmpty() + }); + } + redo() { + this.#commandManager.redo(); + this.#dispatchUpdateStates({ + hasSomethingToUndo: true, + hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(), + isEmpty: this.#isEmpty() + }); + } + addCommands(params) { + this.#commandManager.add(params); + this.#dispatchUpdateStates({ + hasSomethingToUndo: true, + hasSomethingToRedo: false, + isEmpty: this.#isEmpty() + }); + } + #isEmpty() { + if (this.#allEditors.size === 0) { + return true; + } + if (this.#allEditors.size === 1) { + for (const editor of this.#allEditors.values()) { + return editor.isEmpty(); + } + } + return false; + } + delete() { + this.commitOrRemove(); + if (!this.hasSelection) { + return; + } + const editors = [...this.#selectedEditors]; + const cmd = () => { + for (const editor of editors) { + editor.remove(); + } + }; + const undo = () => { + for (const editor of editors) { + this.#addEditorToLayer(editor); + } + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } + commitOrRemove() { + this.#activeEditor?.commitOrRemove(); + } + hasSomethingToControl() { + return this.#activeEditor || this.hasSelection; + } + #selectEditors(editors) { + this.#selectedEditors.clear(); + for (const editor of editors) { + if (editor.isEmpty()) { + continue; + } + this.#selectedEditors.add(editor); + editor.select(); + } + this.#dispatchUpdateStates({ + hasSelectedEditor: true + }); + } + selectAll() { + for (const editor of this.#selectedEditors) { + editor.commit(); + } + this.#selectEditors(this.#allEditors.values()); + } + unselectAll() { + if (this.#activeEditor) { + this.#activeEditor.commitOrRemove(); + return; + } + if (!this.hasSelection) { + return; + } + for (const editor of this.#selectedEditors) { + editor.unselect(); + } + this.#selectedEditors.clear(); + this.#dispatchUpdateStates({ + hasSelectedEditor: false + }); + } + translateSelectedEditors(x, y) { + let noCommit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (!noCommit) { + this.commitOrRemove(); + } + if (!this.hasSelection) { + return; + } + this.#translation[0] += x; + this.#translation[1] += y; + const [totalX, totalY] = this.#translation; + const editors = [...this.#selectedEditors]; + const TIME_TO_WAIT = 1000; + if (this.#translationTimeoutId) { + clearTimeout(this.#translationTimeoutId); + } + this.#translationTimeoutId = setTimeout(() => { + this.#translationTimeoutId = null; + this.#translation[0] = this.#translation[1] = 0; + this.addCommands({ + cmd: () => { + for (const editor of editors) { + if (this.#allEditors.has(editor.id)) { + editor.translateInPage(totalX, totalY); + } + } + }, + undo: () => { + for (const editor of editors) { + if (this.#allEditors.has(editor.id)) { + editor.translateInPage(-totalX, -totalY); + } + } + }, + mustExec: false + }); + }, TIME_TO_WAIT); + for (const editor of editors) { + editor.translateInPage(x, y); + } + } + setUpDragSession() { + if (!this.hasSelection) { + return; + } + this.disableUserSelect(true); + this.#draggingEditors = new Map(); + for (const editor of this.#selectedEditors) { + this.#draggingEditors.set(editor, { + savedX: editor.x, + savedY: editor.y, + savedPageIndex: editor.parent.pageIndex, + newX: 0, + newY: 0, + newPageIndex: -1 + }); + } + } + endDragSession() { + if (!this.#draggingEditors) { + return false; + } + this.disableUserSelect(false); + const map = this.#draggingEditors; + this.#draggingEditors = null; + let mustBeAddedInUndoStack = false; + for (const [{ + x, + y, + parent + }, value] of map) { + value.newX = x; + value.newY = y; + value.newPageIndex = parent.pageIndex; + mustBeAddedInUndoStack ||= x !== value.savedX || y !== value.savedY || parent.pageIndex !== value.savedPageIndex; + } + if (!mustBeAddedInUndoStack) { + return false; + } + const move = (editor, x, y, pageIndex) => { + if (this.#allEditors.has(editor.id)) { + const parent = this.#allLayers.get(pageIndex); + if (parent) { + editor._setParentAndPosition(parent, x, y); + } else { + editor.pageIndex = pageIndex; + editor.x = x; + editor.y = y; + } + } + }; + this.addCommands({ + cmd: () => { + for (const [editor, { + newX, + newY, + newPageIndex + }] of map) { + move(editor, newX, newY, newPageIndex); + } + }, + undo: () => { + for (const [editor, { + savedX, + savedY, + savedPageIndex + }] of map) { + move(editor, savedX, savedY, savedPageIndex); + } + }, + mustExec: true + }); + return true; + } + dragSelectedEditors(tx, ty) { + if (!this.#draggingEditors) { + return; + } + for (const editor of this.#draggingEditors.keys()) { + editor.drag(tx, ty); + } + } + rebuild(editor) { + if (editor.parent === null) { + const parent = this.getLayer(editor.pageIndex); + if (parent) { + parent.changeParent(editor); + parent.addOrRebuild(editor); + } else { + this.addEditor(editor); + this.addToAnnotationStorage(editor); + editor.rebuild(); + } + } else { + editor.parent.addOrRebuild(editor); + } + } + isActive(editor) { + return this.#activeEditor === editor; + } + getActive() { + return this.#activeEditor; + } + getMode() { + return this.#mode; + } + get imageManager() { + return (0, _util.shadow)(this, "imageManager", new ImageManager()); + } +} +exports.AnnotationEditorUIManager = AnnotationEditorUIManager; + +/***/ }), +/* 166 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var DESCRIPTORS = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(4); +var getBuiltIn = __w_pdfjs_require__(24); +var uncurryThis = __w_pdfjs_require__(14); +var call = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(21); +var isObject = __w_pdfjs_require__(20); +var isArray = __w_pdfjs_require__(91); +var hasOwn = __w_pdfjs_require__(39); +var toString = __w_pdfjs_require__(77); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var createProperty = __w_pdfjs_require__(159); +var fails = __w_pdfjs_require__(7); +var parseJSONString = __w_pdfjs_require__(167); +var NATIVE_SYMBOL = __w_pdfjs_require__(27); +var JSON = global.JSON; +var Number = global.Number; +var SyntaxError = global.SyntaxError; +var nativeParse = JSON && JSON.parse; +var enumerableOwnProperties = getBuiltIn('Object', 'keys'); +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); +var push = uncurryThis([].push); +var IS_DIGIT = /^\d$/; +var IS_NON_ZERO_DIGIT = /^[1-9]$/; +var IS_NUMBER_START = /^(-|\d)$/; +var IS_WHITESPACE = /^[\t\n\r ]$/; +var PRIMITIVE = 0; +var OBJECT = 1; +var $parse = function (source, reviver) { + source = toString(source); + var context = new Context(source, 0, ''); + var root = context.parse(); + var value = root.value; + var endIndex = context.skip(IS_WHITESPACE, root.end); + if (endIndex < source.length) { + throw SyntaxError('Unexpected extra character: "' + at(source, endIndex) + '" after the parsed data at: ' + endIndex); + } + return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value; +}; +var internalize = function (holder, name, reviver, node) { + var val = holder[name]; + var unmodified = node && val === node.value; + var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {}; + var elementRecordsLen, keys, len, i, P; + if (isObject(val)) { + var nodeIsArray = isArray(val); + var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {}; + if (nodeIsArray) { + elementRecordsLen = nodes.length; + len = lengthOfArrayLike(val); + for (i = 0; i < len; i++) { + internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined)); + } + } else { + keys = enumerableOwnProperties(val); + len = lengthOfArrayLike(keys); + for (i = 0; i < len; i++) { + P = keys[i]; + internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined)); + } + } + } + return call(reviver, holder, name, val, context); +}; +var internalizeProperty = function (object, key, value) { + if (DESCRIPTORS) { + var descriptor = getOwnPropertyDescriptor(object, key); + if (descriptor && !descriptor.configurable) + return; + } + if (value === undefined) + delete object[key]; + else + createProperty(object, key, value); +}; +var Node = function (value, end, source, nodes) { + this.value = value; + this.end = end; + this.source = source; + this.nodes = nodes; +}; +var Context = function (source, index) { + this.source = source; + this.index = index; +}; +Context.prototype = { + fork: function (nextIndex) { + return new Context(this.source, nextIndex); + }, + parse: function () { + var source = this.source; + var i = this.skip(IS_WHITESPACE, this.index); + var fork = this.fork(i); + var chr = at(source, i); + if (exec(IS_NUMBER_START, chr)) + return fork.number(); + switch (chr) { + case '{': + return fork.object(); + case '[': + return fork.array(); + case '"': + return fork.string(); + case 't': + return fork.keyword(true); + case 'f': + return fork.keyword(false); + case 'n': + return fork.keyword(null); + } + throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i); + }, + node: function (type, value, start, end, nodes) { + return new Node(value, end, type ? null : slice(this.source, start, end), nodes); + }, + object: function () { + var source = this.source; + var i = this.index + 1; + var expectKeypair = false; + var object = {}; + var nodes = {}; + while (i < source.length) { + i = this.until([ + '"', + '}' + ], i); + if (at(source, i) === '}' && !expectKeypair) { + i++; + break; + } + var result = this.fork(i).string(); + var key = result.value; + i = result.end; + i = this.until([':'], i) + 1; + i = this.skip(IS_WHITESPACE, i); + result = this.fork(i).parse(); + createProperty(nodes, key, result); + createProperty(object, key, result.value); + i = this.until([ + ',', + '}' + ], result.end); + var chr = at(source, i); + if (chr === ',') { + expectKeypair = true; + i++; + } else if (chr === '}') { + i++; + break; + } + } + return this.node(OBJECT, object, this.index, i, nodes); + }, + array: function () { + var source = this.source; + var i = this.index + 1; + var expectElement = false; + var array = []; + var nodes = []; + while (i < source.length) { + i = this.skip(IS_WHITESPACE, i); + if (at(source, i) === ']' && !expectElement) { + i++; + break; + } + var result = this.fork(i).parse(); + push(nodes, result); + push(array, result.value); + i = this.until([ + ',', + ']' + ], result.end); + if (at(source, i) === ',') { + expectElement = true; + i++; + } else if (at(source, i) === ']') { + i++; + break; + } + } + return this.node(OBJECT, array, this.index, i, nodes); + }, + string: function () { + var index = this.index; + var parsed = parseJSONString(this.source, this.index + 1); + return this.node(PRIMITIVE, parsed.value, index, parsed.end); + }, + number: function () { + var source = this.source; + var startIndex = this.index; + var i = startIndex; + if (at(source, i) === '-') + i++; + if (at(source, i) === '0') + i++; + else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) + i = this.skip(IS_DIGIT, ++i); + else + throw SyntaxError('Failed to parse number at: ' + i); + if (at(source, i) === '.') + i = this.skip(IS_DIGIT, ++i); + if (at(source, i) === 'e' || at(source, i) === 'E') { + i++; + if (at(source, i) === '+' || at(source, i) === '-') + i++; + var exponentStartIndex = i; + i = this.skip(IS_DIGIT, i); + if (exponentStartIndex === i) + throw SyntaxError("Failed to parse number's exponent value at: " + i); + } + return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i); + }, + keyword: function (value) { + var keyword = '' + value; + var index = this.index; + var endIndex = index + keyword.length; + if (slice(this.source, index, endIndex) !== keyword) + throw SyntaxError('Failed to parse value at: ' + index); + return this.node(PRIMITIVE, value, index, endIndex); + }, + skip: function (regex, i) { + var source = this.source; + for (; i < source.length; i++) + if (!exec(regex, at(source, i))) + break; + return i; + }, + until: function (array, i) { + i = this.skip(IS_WHITESPACE, i); + var chr = at(this.source, i); + for (var j = 0; j < array.length; j++) + if (array[j] === chr) + return i; + throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i); + } +}; +var NO_SOURCE_SUPPORT = fails(function () { + var unsafeInt = '9007199254740993'; + var source; + nativeParse(unsafeInt, function (key, value, context) { + source = context.source; + }); + return source !== unsafeInt; +}); +var PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () { + return 1 / nativeParse('-0 \t') !== -Infinity; +}); +$({ + target: 'JSON', + stat: true, + forced: NO_SOURCE_SUPPORT +}, { + parse: function parse(text, reviver) { + return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver); + } +}); + +/***/ }), +/* 167 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var hasOwn = __w_pdfjs_require__(39); +var $SyntaxError = SyntaxError; +var $parseInt = parseInt; +var fromCharCode = String.fromCharCode; +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); +var codePoints = { + '\\"': '"', + '\\\\': '\\', + '\\/': '/', + '\\b': '\b', + '\\f': '\f', + '\\n': '\n', + '\\r': '\r', + '\\t': '\t' +}; +var IS_4_HEX_DIGITS = /^[\da-f]{4}$/i; +var IS_C0_CONTROL_CODE = /^[\u0000-\u001F]$/; +module.exports = function (source, i) { + var unterminated = true; + var value = ''; + while (i < source.length) { + var chr = at(source, i); + if (chr === '\\') { + var twoChars = slice(source, i, i + 2); + if (hasOwn(codePoints, twoChars)) { + value += codePoints[twoChars]; + i += 2; + } else if (twoChars === '\\u') { + i += 2; + var fourHexDigits = slice(source, i, i + 4); + if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) + throw $SyntaxError('Bad Unicode escape at: ' + i); + value += fromCharCode($parseInt(fourHexDigits, 16)); + i += 4; + } else + throw $SyntaxError('Unknown escape sequence: "' + twoChars + '"'); + } else if (chr === '"') { + unterminated = false; + i++; + break; + } else { + if (exec(IS_C0_CONTROL_CODE, chr)) + throw $SyntaxError('Bad control character in string literal at: ' + i); + value += chr; + i++; + } + } + if (unterminated) + throw $SyntaxError('Unterminated string at: ' + i); + return { + value: value, + end: i + }; +}; + +/***/ }), +/* 168 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMFilterFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = exports.AnnotationPrefix = void 0; +exports.deprecated = deprecated; +exports.getColorValues = getColorValues; +exports.getCurrentTransform = getCurrentTransform; +exports.getCurrentTransformInverse = getCurrentTransformInverse; +exports.getFilenameFromUrl = getFilenameFromUrl; +exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl; +exports.getRGB = getRGB; +exports.getXfaPageViewport = getXfaPageViewport; +exports.isDataScheme = isDataScheme; +exports.isPdfFile = isPdfFile; +exports.isValidFetchUrl = isValidFetchUrl; +exports.loadScript = loadScript; +exports.setLayerDimensions = setLayerDimensions; +__w_pdfjs_require__(2); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +__w_pdfjs_require__(84); +__w_pdfjs_require__(86); +__w_pdfjs_require__(87); +var _base_factory = __w_pdfjs_require__(169); +var _util = __w_pdfjs_require__(1); +const SVG_NS = "http://www.w3.org/2000/svg"; +const AnnotationPrefix = "pdfjs_internal_id_"; +exports.AnnotationPrefix = AnnotationPrefix; +class PixelsPerInch { + static CSS = 96.0; + static PDF = 72.0; + static PDF_TO_CSS_UNITS = this.CSS / this.PDF; +} +exports.PixelsPerInch = PixelsPerInch; +class DOMFilterFactory extends _base_factory.BaseFilterFactory { + #_cache; + #_defs; + #docId; + #document; + #hcmFilter; + #hcmKey; + #hcmUrl; + #hcmHighlightFilter; + #hcmHighlightKey; + #hcmHighlightUrl; + #id = 0; + constructor() { + let { + docId, + ownerDocument = globalThis.document + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + super(); + this.#docId = docId; + this.#document = ownerDocument; + } + get #cache() { + return this.#_cache ||= new Map(); + } + get #defs() { + if (!this.#_defs) { + const div = this.#document.createElement("div"); + const { + style + } = div; + style.visibility = "hidden"; + style.contain = "strict"; + style.width = style.height = 0; + style.position = "absolute"; + style.top = style.left = 0; + style.zIndex = -1; + const svg = this.#document.createElementNS(SVG_NS, "svg"); + svg.setAttribute("width", 0); + svg.setAttribute("height", 0); + this.#_defs = this.#document.createElementNS(SVG_NS, "defs"); + div.append(svg); + svg.append(this.#_defs); + this.#document.body.append(div); + } + return this.#_defs; + } + addFilter(maps) { + if (!maps) { + return "none"; + } + let value = this.#cache.get(maps); + if (value) { + return value; + } + let tableR, tableG, tableB, key; + if (maps.length === 1) { + const mapR = maps[0]; + const buffer = new Array(256); + for (let i = 0; i < 256; i++) { + buffer[i] = mapR[i] / 255; + } + key = tableR = tableG = tableB = buffer.join(","); + } else { + const [mapR, mapG, mapB] = maps; + const bufferR = new Array(256); + const bufferG = new Array(256); + const bufferB = new Array(256); + for (let i = 0; i < 256; i++) { + bufferR[i] = mapR[i] / 255; + bufferG[i] = mapG[i] / 255; + bufferB[i] = mapB[i] / 255; + } + tableR = bufferR.join(","); + tableG = bufferG.join(","); + tableB = bufferB.join(","); + key = `${tableR}${tableG}${tableB}`; + } + value = this.#cache.get(key); + if (value) { + this.#cache.set(maps, value); + return value; + } + const id = `g_${this.#docId}_transfer_map_${this.#id++}`; + const url = `url(#${id})`; + this.#cache.set(maps, url); + this.#cache.set(key, url); + const filter = this.#createFilter(id); + this.#addTransferMapConversion(tableR, tableG, tableB, filter); + return url; + } + addHCMFilter(fgColor, bgColor) { + const key = `${fgColor}-${bgColor}`; + if (this.#hcmKey === key) { + return this.#hcmUrl; + } + this.#hcmKey = key; + this.#hcmUrl = "none"; + this.#hcmFilter?.remove(); + if (!fgColor || !bgColor) { + return this.#hcmUrl; + } + const fgRGB = this.#getRGB(fgColor); + fgColor = _util.Util.makeHexColor(...fgRGB); + const bgRGB = this.#getRGB(bgColor); + bgColor = _util.Util.makeHexColor(...bgRGB); + this.#defs.style.color = ""; + if (fgColor === "#000000" && bgColor === "#ffffff" || fgColor === bgColor) { + return this.#hcmUrl; + } + const map = new Array(256); + for (let i = 0; i <= 255; i++) { + const x = i / 255; + map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4; + } + const table = map.join(","); + const id = `g_${this.#docId}_hcm_filter`; + const filter = this.#hcmHighlightFilter = this.#createFilter(id); + this.#addTransferMapConversion(table, table, table, filter); + this.#addGrayConversion(filter); + const getSteps = (c, n) => { + const start = fgRGB[c] / 255; + const end = bgRGB[c] / 255; + const arr = new Array(n + 1); + for (let i = 0; i <= n; i++) { + arr[i] = start + i / n * (end - start); + } + return arr.join(","); + }; + this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter); + this.#hcmUrl = `url(#${id})`; + return this.#hcmUrl; + } + addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) { + const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`; + if (this.#hcmHighlightKey === key) { + return this.#hcmHighlightUrl; + } + this.#hcmHighlightKey = key; + this.#hcmHighlightUrl = "none"; + this.#hcmHighlightFilter?.remove(); + if (!fgColor || !bgColor) { + return this.#hcmHighlightUrl; + } + const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this)); + let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]); + let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]); + let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this)); + if (bgGray < fgGray) { + [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB]; + } + this.#defs.style.color = ""; + const getSteps = (fg, bg, n) => { + const arr = new Array(256); + const step = (bgGray - fgGray) / n; + const newStart = fg / 255; + const newStep = (bg - fg) / (255 * n); + let prev = 0; + for (let i = 0; i <= n; i++) { + const k = Math.round(fgGray + i * step); + const value = newStart + i * newStep; + for (let j = prev; j <= k; j++) { + arr[j] = value; + } + prev = k + 1; + } + for (let i = prev; i < 256; i++) { + arr[i] = arr[prev - 1]; + } + return arr.join(","); + }; + const id = `g_${this.#docId}_hcm_highlight_filter`; + const filter = this.#hcmHighlightFilter = this.#createFilter(id); + this.#addGrayConversion(filter); + this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter); + this.#hcmHighlightUrl = `url(#${id})`; + return this.#hcmHighlightUrl; + } + destroy() { + let keepHCM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (keepHCM && (this.#hcmUrl || this.#hcmHighlightUrl)) { + return; + } + if (this.#_defs) { + this.#_defs.parentNode.parentNode.remove(); + this.#_defs = null; + } + if (this.#_cache) { + this.#_cache.clear(); + this.#_cache = null; + } + this.#id = 0; + } + #addGrayConversion(filter) { + const feColorMatrix = this.#document.createElementNS(SVG_NS, "feColorMatrix"); + feColorMatrix.setAttribute("type", "matrix"); + feColorMatrix.setAttribute("values", "0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"); + filter.append(feColorMatrix); + } + #createFilter(id) { + const filter = this.#document.createElementNS(SVG_NS, "filter"); + filter.setAttribute("color-interpolation-filters", "sRGB"); + filter.setAttribute("id", id); + this.#defs.append(filter); + return filter; + } + #appendFeFunc(feComponentTransfer, func, table) { + const feFunc = this.#document.createElementNS(SVG_NS, func); + feFunc.setAttribute("type", "discrete"); + feFunc.setAttribute("tableValues", table); + feComponentTransfer.append(feFunc); + } + #addTransferMapConversion(rTable, gTable, bTable, filter) { + const feComponentTransfer = this.#document.createElementNS(SVG_NS, "feComponentTransfer"); + filter.append(feComponentTransfer); + this.#appendFeFunc(feComponentTransfer, "feFuncR", rTable); + this.#appendFeFunc(feComponentTransfer, "feFuncG", gTable); + this.#appendFeFunc(feComponentTransfer, "feFuncB", bTable); + } + #getRGB(color) { + this.#defs.style.color = color; + return getRGB(getComputedStyle(this.#defs).getPropertyValue("color")); + } +} +exports.DOMFilterFactory = DOMFilterFactory; +class DOMCanvasFactory extends _base_factory.BaseCanvasFactory { + constructor() { + let { + ownerDocument = globalThis.document + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + super(); + this._document = ownerDocument; + } + _createCanvas(width, height) { + const canvas = this._document.createElement("canvas"); + canvas.width = width; + canvas.height = height; + return canvas; + } +} +exports.DOMCanvasFactory = DOMCanvasFactory; +async function fetchData(url) { + let asTypedArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (isValidFetchUrl(url, document.baseURI)) { + const response = await fetch(url); + if (!response.ok) { + throw new Error(response.statusText); + } + return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text()); + } + return new Promise((resolve, reject) => { + const request = new XMLHttpRequest(); + request.open("GET", url, true); + if (asTypedArray) { + request.responseType = "arraybuffer"; + } + request.onreadystatechange = () => { + if (request.readyState !== XMLHttpRequest.DONE) { + return; + } + if (request.status === 200 || request.status === 0) { + let data; + if (asTypedArray && request.response) { + data = new Uint8Array(request.response); + } else if (!asTypedArray && request.responseText) { + data = (0, _util.stringToBytes)(request.responseText); + } + if (data) { + resolve(data); + return; + } + } + reject(new Error(request.statusText)); + }; + request.send(null); + }); +} +class DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory { + _fetchData(url, compressionType) { + return fetchData(url, this.isCompressed).then(data => { + return { + cMapData: data, + compressionType + }; + }); + } +} +exports.DOMCMapReaderFactory = DOMCMapReaderFactory; +class DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory { + _fetchData(url) { + return fetchData(url, true); + } +} +exports.DOMStandardFontDataFactory = DOMStandardFontDataFactory; +class DOMSVGFactory extends _base_factory.BaseSVGFactory { + _createSVG(type) { + return document.createElementNS(SVG_NS, type); + } +} +exports.DOMSVGFactory = DOMSVGFactory; +class PageViewport { + constructor(_ref) { + let { + viewBox, + scale, + rotation, + offsetX = 0, + offsetY = 0, + dontFlip = false + } = _ref; + this.viewBox = viewBox; + this.scale = scale; + this.rotation = rotation; + this.offsetX = offsetX; + this.offsetY = offsetY; + const centerX = (viewBox[2] + viewBox[0]) / 2; + const centerY = (viewBox[3] + viewBox[1]) / 2; + let rotateA, rotateB, rotateC, rotateD; + rotation %= 360; + if (rotation < 0) { + rotation += 360; + } + switch (rotation) { + case 180: + rotateA = -1; + rotateB = 0; + rotateC = 0; + rotateD = 1; + break; + case 90: + rotateA = 0; + rotateB = 1; + rotateC = 1; + rotateD = 0; + break; + case 270: + rotateA = 0; + rotateB = -1; + rotateC = -1; + rotateD = 0; + break; + case 0: + rotateA = 1; + rotateB = 0; + rotateC = 0; + rotateD = -1; + break; + default: + throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees."); + } + if (dontFlip) { + rotateC = -rotateC; + rotateD = -rotateD; + } + let offsetCanvasX, offsetCanvasY; + let width, height; + if (rotateA === 0) { + offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; + offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; + width = (viewBox[3] - viewBox[1]) * scale; + height = (viewBox[2] - viewBox[0]) * scale; + } else { + offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; + offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; + width = (viewBox[2] - viewBox[0]) * scale; + height = (viewBox[3] - viewBox[1]) * scale; + } + this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY]; + this.width = width; + this.height = height; + } + get rawDims() { + const { + viewBox + } = this; + return (0, _util.shadow)(this, "rawDims", { + pageWidth: viewBox[2] - viewBox[0], + pageHeight: viewBox[3] - viewBox[1], + pageX: viewBox[0], + pageY: viewBox[1] + }); + } + clone() { + let { + scale = this.scale, + rotation = this.rotation, + offsetX = this.offsetX, + offsetY = this.offsetY, + dontFlip = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + return new PageViewport({ + viewBox: this.viewBox.slice(), + scale, + rotation, + offsetX, + offsetY, + dontFlip + }); + } + convertToViewportPoint(x, y) { + return _util.Util.applyTransform([x, y], this.transform); + } + convertToViewportRectangle(rect) { + const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform); + const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform); + return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]]; + } + convertToPdfPoint(x, y) { + return _util.Util.applyInverseTransform([x, y], this.transform); + } +} +exports.PageViewport = PageViewport; +class RenderingCancelledException extends _util.BaseException { + constructor(msg) { + let extraDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + super(msg, "RenderingCancelledException"); + this.extraDelay = extraDelay; + } +} +exports.RenderingCancelledException = RenderingCancelledException; +function isDataScheme(url) { + const ii = url.length; + let i = 0; + while (i < ii && url[i].trim() === "") { + i++; + } + return url.substring(i, i + 5).toLowerCase() === "data:"; +} +function isPdfFile(filename) { + return typeof filename === "string" && /\.pdf$/i.test(filename); +} +function getFilenameFromUrl(url) { + let onlyStripPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (!onlyStripPath) { + [url] = url.split(/[#?]/, 1); + } + return url.substring(url.lastIndexOf("/") + 1); +} +function getPdfFilenameFromUrl(url) { + let defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf"; + if (typeof url !== "string") { + return defaultFilename; + } + if (isDataScheme(url)) { + (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'); + return defaultFilename; + } + const reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/; + const reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i; + const splitURI = reURI.exec(url); + let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]); + if (suggestedFilename) { + suggestedFilename = suggestedFilename[0]; + if (suggestedFilename.includes("%")) { + try { + suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]; + } catch {} + } + } + return suggestedFilename || defaultFilename; +} +class StatTimer { + started = Object.create(null); + times = []; + time(name) { + if (name in this.started) { + (0, _util.warn)(`Timer is already running for ${name}`); + } + this.started[name] = Date.now(); + } + timeEnd(name) { + if (!(name in this.started)) { + (0, _util.warn)(`Timer has not been started for ${name}`); + } + this.times.push({ + name, + start: this.started[name], + end: Date.now() + }); + delete this.started[name]; + } + toString() { + const outBuf = []; + let longest = 0; + for (const { + name + } of this.times) { + longest = Math.max(name.length, longest); + } + for (const { + name, + start, + end + } of this.times) { + outBuf.push(`${name.padEnd(longest)} ${end - start}ms\n`); + } + return outBuf.join(""); + } +} +exports.StatTimer = StatTimer; +function isValidFetchUrl(url, baseUrl) { + try { + const { + protocol + } = baseUrl ? new URL(url, baseUrl) : new URL(url); + return protocol === "http:" || protocol === "https:"; + } catch { + return false; + } +} +function loadScript(src) { + let removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return new Promise((resolve, reject) => { + const script = document.createElement("script"); + script.src = src; + script.onload = function (evt) { + if (removeScriptElement) { + script.remove(); + } + resolve(evt); + }; + script.onerror = function () { + reject(new Error(`Cannot load script at: ${script.src}`)); + }; + (document.head || document.documentElement).append(script); + }); +} +function deprecated(details) { + console.log("Deprecated API usage: " + details); +} +let pdfDateStringRegex; +class PDFDateString { + static toDateObject(input) { + if (!input || typeof input !== "string") { + return null; + } + pdfDateStringRegex ||= new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?"); + const matches = pdfDateStringRegex.exec(input); + if (!matches) { + return null; + } + const year = parseInt(matches[1], 10); + let month = parseInt(matches[2], 10); + month = month >= 1 && month <= 12 ? month - 1 : 0; + let day = parseInt(matches[3], 10); + day = day >= 1 && day <= 31 ? day : 1; + let hour = parseInt(matches[4], 10); + hour = hour >= 0 && hour <= 23 ? hour : 0; + let minute = parseInt(matches[5], 10); + minute = minute >= 0 && minute <= 59 ? minute : 0; + let second = parseInt(matches[6], 10); + second = second >= 0 && second <= 59 ? second : 0; + const universalTimeRelation = matches[7] || "Z"; + let offsetHour = parseInt(matches[8], 10); + offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0; + let offsetMinute = parseInt(matches[9], 10) || 0; + offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0; + if (universalTimeRelation === "-") { + hour += offsetHour; + minute += offsetMinute; + } else if (universalTimeRelation === "+") { + hour -= offsetHour; + minute -= offsetMinute; + } + return new Date(Date.UTC(year, month, day, hour, minute, second)); + } +} +exports.PDFDateString = PDFDateString; +function getXfaPageViewport(xfaPage, _ref2) { + let { + scale = 1, + rotation = 0 + } = _ref2; + const { + width, + height + } = xfaPage.attributes.style; + const viewBox = [0, 0, parseInt(width), parseInt(height)]; + return new PageViewport({ + viewBox, + scale, + rotation + }); +} +function getRGB(color) { + if (color.startsWith("#")) { + const colorRGB = parseInt(color.slice(1), 16); + return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff]; + } + if (color.startsWith("rgb(")) { + return color.slice(4, -1).split(",").map(x => parseInt(x)); + } + if (color.startsWith("rgba(")) { + return color.slice(5, -1).split(",").map(x => parseInt(x)).slice(0, 3); + } + (0, _util.warn)(`Not a valid color format: "${color}"`); + return [0, 0, 0]; +} +function getColorValues(colors) { + const span = document.createElement("span"); + span.style.visibility = "hidden"; + document.body.append(span); + for (const name of colors.keys()) { + span.style.color = name; + const computedColor = window.getComputedStyle(span).color; + colors.set(name, getRGB(computedColor)); + } + span.remove(); +} +function getCurrentTransform(ctx) { + const { + a, + b, + c, + d, + e, + f + } = ctx.getTransform(); + return [a, b, c, d, e, f]; +} +function getCurrentTransformInverse(ctx) { + const { + a, + b, + c, + d, + e, + f + } = ctx.getTransform().invertSelf(); + return [a, b, c, d, e, f]; +} +function setLayerDimensions(div, viewport) { + let mustFlip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + let mustRotate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + if (viewport instanceof PageViewport) { + const { + pageWidth, + pageHeight + } = viewport.rawDims; + const { + style + } = div; + const useRound = _util.FeatureTest.isCSSRoundSupported; + const w = `var(--scale-factor) * ${pageWidth}px`, + h = `var(--scale-factor) * ${pageHeight}px`; + const widthStr = useRound ? `round(${w}, 1px)` : `calc(${w})`, + heightStr = useRound ? `round(${h}, 1px)` : `calc(${h})`; + if (!mustFlip || viewport.rotation % 180 === 0) { + style.width = widthStr; + style.height = heightStr; + } else { + style.width = heightStr; + style.height = widthStr; + } + } + if (mustRotate) { + div.setAttribute("data-main-rotation", viewport.rotation); + } +} + +/***/ }), +/* 169 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseFilterFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0; +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +class BaseFilterFactory { + constructor() { + if (this.constructor === BaseFilterFactory) { + (0, _util.unreachable)("Cannot initialize BaseFilterFactory."); + } + } + addFilter(maps) { + return "none"; + } + addHCMFilter(fgColor, bgColor) { + return "none"; + } + addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) { + return "none"; + } + destroy() { + let keepHCM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + } +} +exports.BaseFilterFactory = BaseFilterFactory; +class BaseCanvasFactory { + constructor() { + if (this.constructor === BaseCanvasFactory) { + (0, _util.unreachable)("Cannot initialize BaseCanvasFactory."); + } + } + create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + const canvas = this._createCanvas(width, height); + return { + canvas, + context: canvas.getContext("2d") + }; + } + reset(canvasAndContext, width, height) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + canvasAndContext.canvas.width = width; + canvasAndContext.canvas.height = height; + } + destroy(canvasAndContext) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + canvasAndContext.canvas.width = 0; + canvasAndContext.canvas.height = 0; + canvasAndContext.canvas = null; + canvasAndContext.context = null; + } + _createCanvas(width, height) { + (0, _util.unreachable)("Abstract method `_createCanvas` called."); + } +} +exports.BaseCanvasFactory = BaseCanvasFactory; +class BaseCMapReaderFactory { + constructor(_ref) { + let { + baseUrl = null, + isCompressed = true + } = _ref; + if (this.constructor === BaseCMapReaderFactory) { + (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory."); + } + this.baseUrl = baseUrl; + this.isCompressed = isCompressed; + } + async fetch(_ref2) { + let { + name + } = _ref2; + if (!this.baseUrl) { + throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'); + } + if (!name) { + throw new Error("CMap name must be specified."); + } + const url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : ""); + const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE; + return this._fetchData(url, compressionType).catch(reason => { + throw new Error(`Unable to load ${this.isCompressed ? "binary " : ""}CMap at: ${url}`); + }); + } + _fetchData(url, compressionType) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } +} +exports.BaseCMapReaderFactory = BaseCMapReaderFactory; +class BaseStandardFontDataFactory { + constructor(_ref3) { + let { + baseUrl = null + } = _ref3; + if (this.constructor === BaseStandardFontDataFactory) { + (0, _util.unreachable)("Cannot initialize BaseStandardFontDataFactory."); + } + this.baseUrl = baseUrl; + } + async fetch(_ref4) { + let { + filename + } = _ref4; + if (!this.baseUrl) { + throw new Error('The standard font "baseUrl" parameter must be specified, ensure that ' + 'the "standardFontDataUrl" API parameter is provided.'); + } + if (!filename) { + throw new Error("Font filename must be specified."); + } + const url = `${this.baseUrl}${filename}`; + return this._fetchData(url).catch(reason => { + throw new Error(`Unable to load font data at: ${url}`); + }); + } + _fetchData(url) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } +} +exports.BaseStandardFontDataFactory = BaseStandardFontDataFactory; +class BaseSVGFactory { + constructor() { + if (this.constructor === BaseSVGFactory) { + (0, _util.unreachable)("Cannot initialize BaseSVGFactory."); + } + } + create(width, height) { + let skipDimensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (width <= 0 || height <= 0) { + throw new Error("Invalid SVG dimensions"); + } + const svg = this._createSVG("svg:svg"); + svg.setAttribute("version", "1.1"); + if (!skipDimensions) { + svg.setAttribute("width", `${width}px`); + svg.setAttribute("height", `${height}px`); + } + svg.setAttribute("preserveAspectRatio", "none"); + svg.setAttribute("viewBox", `0 0 ${width} ${height}`); + return svg; + } + createElement(type) { + if (typeof type !== "string") { + throw new Error("Invalid SVG element type"); + } + return this._createSVG(type); + } + _createSVG(type) { + (0, _util.unreachable)("Abstract method `_createSVG` called."); + } +} +exports.BaseSVGFactory = BaseSVGFactory; + +/***/ }), +/* 170 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MurmurHash3_64 = void 0; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +const SEED = 0xc3d2e1f0; +const MASK_HIGH = 0xffff0000; +const MASK_LOW = 0xffff; +class MurmurHash3_64 { + constructor(seed) { + this.h1 = seed ? seed & 0xffffffff : SEED; + this.h2 = seed ? seed & 0xffffffff : SEED; + } + update(input) { + let data, length; + if (typeof input === "string") { + data = new Uint8Array(input.length * 2); + length = 0; + for (let i = 0, ii = input.length; i < ii; i++) { + const code = input.charCodeAt(i); + if (code <= 0xff) { + data[length++] = code; + } else { + data[length++] = code >>> 8; + data[length++] = code & 0xff; + } + } + } else if ((0, _util.isArrayBuffer)(input)) { + data = input.slice(); + length = data.byteLength; + } else { + throw new Error("Wrong data format in MurmurHash3_64_update. " + "Input must be a string or array."); + } + const blockCounts = length >> 2; + const tailLength = length - blockCounts * 4; + const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts); + let k1 = 0, + k2 = 0; + let h1 = this.h1, + h2 = this.h2; + const C1 = 0xcc9e2d51, + C2 = 0x1b873593; + const C1_LOW = C1 & MASK_LOW, + C2_LOW = C2 & MASK_LOW; + for (let i = 0; i < blockCounts; i++) { + if (i & 1) { + k1 = dataUint32[i]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + h1 ^= k1; + h1 = h1 << 13 | h1 >>> 19; + h1 = h1 * 5 + 0xe6546b64; + } else { + k2 = dataUint32[i]; + k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW; + k2 = k2 << 15 | k2 >>> 17; + k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW; + h2 ^= k2; + h2 = h2 << 13 | h2 >>> 19; + h2 = h2 * 5 + 0xe6546b64; + } + } + k1 = 0; + switch (tailLength) { + case 3: + k1 ^= data[blockCounts * 4 + 2] << 16; + case 2: + k1 ^= data[blockCounts * 4 + 1] << 8; + case 1: + k1 ^= data[blockCounts * 4]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + if (blockCounts & 1) { + h1 ^= k1; + } else { + h2 ^= k1; + } + } + this.h1 = h1; + this.h2 = h2; + } + hexdigest() { + let h1 = this.h1, + h2 = this.h2; + h1 ^= h2 >>> 1; + h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW; + h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW; + h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + return (h1 >>> 0).toString(16).padStart(8, "0") + (h2 >>> 0).toString(16).padStart(8, "0"); + } +} +exports.MurmurHash3_64 = MurmurHash3_64; + +/***/ }), +/* 171 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.FontLoader = exports.FontFaceObject = void 0; +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +__w_pdfjs_require__(89); +__w_pdfjs_require__(149); +var _util = __w_pdfjs_require__(1); +class FontLoader { + #systemFonts = new Set(); + constructor(_ref) { + let { + ownerDocument = globalThis.document, + styleElement = null + } = _ref; + this._document = ownerDocument; + this.nativeFontFaces = new Set(); + this.styleElement = null; + this.loadingRequests = []; + this.loadTestFontId = 0; + } + addNativeFontFace(nativeFontFace) { + this.nativeFontFaces.add(nativeFontFace); + this._document.fonts.add(nativeFontFace); + } + removeNativeFontFace(nativeFontFace) { + this.nativeFontFaces.delete(nativeFontFace); + this._document.fonts.delete(nativeFontFace); + } + insertRule(rule) { + if (!this.styleElement) { + this.styleElement = this._document.createElement("style"); + this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement); + } + const styleSheet = this.styleElement.sheet; + styleSheet.insertRule(rule, styleSheet.cssRules.length); + } + clear() { + for (const nativeFontFace of this.nativeFontFaces) { + this._document.fonts.delete(nativeFontFace); + } + this.nativeFontFaces.clear(); + this.#systemFonts.clear(); + if (this.styleElement) { + this.styleElement.remove(); + this.styleElement = null; + } + } + async loadSystemFont(info) { + if (!info || this.#systemFonts.has(info.loadedName)) { + return; + } + (0, _util.assert)(!this.disableFontFace, "loadSystemFont shouldn't be called when `disableFontFace` is set."); + if (this.isFontLoadingAPISupported) { + const { + loadedName, + src, + style + } = info; + const fontFace = new FontFace(loadedName, src, style); + this.addNativeFontFace(fontFace); + try { + await fontFace.load(); + this.#systemFonts.add(loadedName); + } catch { + (0, _util.warn)(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`); + this.removeNativeFontFace(fontFace); + } + return; + } + (0, _util.unreachable)("Not implemented: loadSystemFont without the Font Loading API."); + } + async bind(font) { + if (font.attached || font.missingFile && !font.systemFontInfo) { + return; + } + font.attached = true; + if (font.systemFontInfo) { + await this.loadSystemFont(font.systemFontInfo); + return; + } + if (this.isFontLoadingAPISupported) { + const nativeFontFace = font.createNativeFontFace(); + if (nativeFontFace) { + this.addNativeFontFace(nativeFontFace); + try { + await nativeFontFace.loaded; + } catch (ex) { + (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`); + font.disableFontFace = true; + throw ex; + } + } + return; + } + const rule = font.createFontFaceRule(); + if (rule) { + this.insertRule(rule); + if (this.isSyncFontLoadingSupported) { + return; + } + await new Promise(resolve => { + const request = this._queueLoadingCallback(resolve); + this._prepareFontLoadEvent(font, request); + }); + } + } + get isFontLoadingAPISupported() { + const hasFonts = !!this._document?.fonts; + return (0, _util.shadow)(this, "isFontLoadingAPISupported", hasFonts); + } + get isSyncFontLoadingSupported() { + let supported = false; + if (_util.isNodeJS) { + supported = true; + } else if (typeof navigator !== "undefined" && /Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent)) { + supported = true; + } + return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported); + } + _queueLoadingCallback(callback) { + function completeRequest() { + (0, _util.assert)(!request.done, "completeRequest() cannot be called twice."); + request.done = true; + while (loadingRequests.length > 0 && loadingRequests[0].done) { + const otherRequest = loadingRequests.shift(); + setTimeout(otherRequest.callback, 0); + } + } + const { + loadingRequests + } = this; + const request = { + done: false, + complete: completeRequest, + callback + }; + loadingRequests.push(request); + return request; + } + get _loadTestFont() { + const testFont = atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="); + return (0, _util.shadow)(this, "_loadTestFont", testFont); + } + _prepareFontLoadEvent(font, request) { + function int32(data, offset) { + return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff; + } + function spliceString(s, offset, remove, insert) { + const chunk1 = s.substring(0, offset); + const chunk2 = s.substring(offset + remove); + return chunk1 + insert + chunk2; + } + let i, ii; + const canvas = this._document.createElement("canvas"); + canvas.width = 1; + canvas.height = 1; + const ctx = canvas.getContext("2d"); + let called = 0; + function isFontReady(name, callback) { + if (++called > 30) { + (0, _util.warn)("Load test font never loaded."); + callback(); + return; + } + ctx.font = "30px " + name; + ctx.fillText(".", 0, 20); + const imageData = ctx.getImageData(0, 0, 1, 1); + if (imageData.data[3] > 0) { + callback(); + return; + } + setTimeout(isFontReady.bind(null, name, callback)); + } + const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`; + let data = this._loadTestFont; + const COMMENT_OFFSET = 976; + data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId); + const CFF_CHECKSUM_OFFSET = 16; + const XXXX_VALUE = 0x58585858; + let checksum = int32(data, CFF_CHECKSUM_OFFSET); + for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0; + } + if (i < loadTestFontId.length) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0; + } + data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum)); + const url = `url(data:font/opentype;base64,${btoa(data)});`; + const rule = `@font-face {font-family:"${loadTestFontId}";src:${url}}`; + this.insertRule(rule); + const div = this._document.createElement("div"); + div.style.visibility = "hidden"; + div.style.width = div.style.height = "10px"; + div.style.position = "absolute"; + div.style.top = div.style.left = "0px"; + for (const name of [font.loadedName, loadTestFontId]) { + const span = this._document.createElement("span"); + span.textContent = "Hi"; + span.style.fontFamily = name; + div.append(span); + } + this._document.body.append(div); + isFontReady(loadTestFontId, () => { + div.remove(); + request.complete(); + }); + } +} +exports.FontLoader = FontLoader; +class FontFaceObject { + constructor(translatedData, _ref2) { + let { + isEvalSupported = true, + disableFontFace = false, + ignoreErrors = false, + inspectFont = null + } = _ref2; + this.compiledGlyphs = Object.create(null); + for (const i in translatedData) { + this[i] = translatedData[i]; + } + this.isEvalSupported = isEvalSupported !== false; + this.disableFontFace = disableFontFace === true; + this.ignoreErrors = ignoreErrors === true; + this._inspectFont = inspectFont; + } + createNativeFontFace() { + if (!this.data || this.disableFontFace) { + return null; + } + let nativeFontFace; + if (!this.cssFontInfo) { + nativeFontFace = new FontFace(this.loadedName, this.data, {}); + } else { + const css = { + weight: this.cssFontInfo.fontWeight + }; + if (this.cssFontInfo.italicAngle) { + css.style = `oblique ${this.cssFontInfo.italicAngle}deg`; + } + nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css); + } + this._inspectFont?.(this); + return nativeFontFace; + } + createFontFaceRule() { + if (!this.data || this.disableFontFace) { + return null; + } + const data = (0, _util.bytesToString)(this.data); + const url = `url(data:${this.mimetype};base64,${btoa(data)});`; + let rule; + if (!this.cssFontInfo) { + rule = `@font-face {font-family:"${this.loadedName}";src:${url}}`; + } else { + let css = `font-weight: ${this.cssFontInfo.fontWeight};`; + if (this.cssFontInfo.italicAngle) { + css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`; + } + rule = `@font-face {font-family:"${this.cssFontInfo.fontFamily}";${css}src:${url}}`; + } + this._inspectFont?.(this, url); + return rule; + } + getPathGenerator(objs, character) { + if (this.compiledGlyphs[character] !== undefined) { + return this.compiledGlyphs[character]; + } + let cmds; + try { + cmds = objs.get(this.loadedName + "_path_" + character); + } catch (ex) { + if (!this.ignoreErrors) { + throw ex; + } + (0, _util.warn)(`getPathGenerator - ignoring character: "${ex}".`); + return this.compiledGlyphs[character] = function (c, size) {}; + } + if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) { + const jsBuf = []; + for (const current of cmds) { + const args = current.args !== undefined ? current.args.join(",") : ""; + jsBuf.push("c.", current.cmd, "(", args, ");\n"); + } + return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join("")); + } + return this.compiledGlyphs[character] = function (c, size) { + for (const current of cmds) { + if (current.cmd === "scale") { + current.args = [size, -size]; + } + c[current.cmd].apply(c, current.args); + } + }; + } +} +exports.FontFaceObject = FontFaceObject; + +/***/ }), +/* 172 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NodeStandardFontDataFactory = exports.NodeFilterFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0; +__w_pdfjs_require__(2); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +var _base_factory = __w_pdfjs_require__(169); +var _util = __w_pdfjs_require__(1); +; +{ + (function checkDOMMatrix() { + if (globalThis.DOMMatrix || !_util.isNodeJS) { + return; + } + try { + globalThis.DOMMatrix = require("canvas").DOMMatrix; + } catch (ex) { + (0, _util.warn)(`Cannot polyfill \`DOMMatrix\`, rendering may be broken: "${ex}".`); + } + })(); + (function checkPath2D() { + if (globalThis.Path2D || !_util.isNodeJS) { + return; + } + try { + const { + CanvasRenderingContext2D + } = require("canvas"); + const { + polyfillPath2D + } = require("path2d-polyfill"); + globalThis.CanvasRenderingContext2D = CanvasRenderingContext2D; + polyfillPath2D(globalThis); + } catch (ex) { + (0, _util.warn)(`Cannot polyfill \`Path2D\`, rendering may be broken: "${ex}".`); + } + })(); +} +const fetchData = function (url) { + return new Promise((resolve, reject) => { + const fs = require("fs"); + fs.readFile(url, (error, data) => { + if (error || !data) { + reject(new Error(error)); + return; + } + resolve(new Uint8Array(data)); + }); + }); +}; +class NodeFilterFactory extends _base_factory.BaseFilterFactory {} +exports.NodeFilterFactory = NodeFilterFactory; +class NodeCanvasFactory extends _base_factory.BaseCanvasFactory { + _createCanvas(width, height) { + const Canvas = require("canvas"); + return Canvas.createCanvas(width, height); + } +} +exports.NodeCanvasFactory = NodeCanvasFactory; +class NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory { + _fetchData(url, compressionType) { + return fetchData(url).then(data => { + return { + cMapData: data, + compressionType + }; + }); + } +} +exports.NodeCMapReaderFactory = NodeCMapReaderFactory; +class NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory { + _fetchData(url) { + return fetchData(url); + } +} +exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory; + +/***/ }), +/* 173 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.CanvasGraphics = void 0; +__w_pdfjs_require__(2); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +var _pattern_helper = __w_pdfjs_require__(174); +var _image_utils = __w_pdfjs_require__(175); +const MIN_FONT_SIZE = 16; +const MAX_FONT_SIZE = 100; +const MAX_GROUP_SIZE = 4096; +const EXECUTION_TIME = 15; +const EXECUTION_STEPS = 10; +const MAX_SIZE_TO_COMPILE = 1000; +const FULL_CHUNK_HEIGHT = 16; +function mirrorContextOperations(ctx, destCtx) { + if (ctx._removeMirroring) { + throw new Error("Context is already forwarding operations."); + } + ctx.__originalSave = ctx.save; + ctx.__originalRestore = ctx.restore; + ctx.__originalRotate = ctx.rotate; + ctx.__originalScale = ctx.scale; + ctx.__originalTranslate = ctx.translate; + ctx.__originalTransform = ctx.transform; + ctx.__originalSetTransform = ctx.setTransform; + ctx.__originalResetTransform = ctx.resetTransform; + ctx.__originalClip = ctx.clip; + ctx.__originalMoveTo = ctx.moveTo; + ctx.__originalLineTo = ctx.lineTo; + ctx.__originalBezierCurveTo = ctx.bezierCurveTo; + ctx.__originalRect = ctx.rect; + ctx.__originalClosePath = ctx.closePath; + ctx.__originalBeginPath = ctx.beginPath; + ctx._removeMirroring = () => { + ctx.save = ctx.__originalSave; + ctx.restore = ctx.__originalRestore; + ctx.rotate = ctx.__originalRotate; + ctx.scale = ctx.__originalScale; + ctx.translate = ctx.__originalTranslate; + ctx.transform = ctx.__originalTransform; + ctx.setTransform = ctx.__originalSetTransform; + ctx.resetTransform = ctx.__originalResetTransform; + ctx.clip = ctx.__originalClip; + ctx.moveTo = ctx.__originalMoveTo; + ctx.lineTo = ctx.__originalLineTo; + ctx.bezierCurveTo = ctx.__originalBezierCurveTo; + ctx.rect = ctx.__originalRect; + ctx.closePath = ctx.__originalClosePath; + ctx.beginPath = ctx.__originalBeginPath; + delete ctx._removeMirroring; + }; + ctx.save = function ctxSave() { + destCtx.save(); + this.__originalSave(); + }; + ctx.restore = function ctxRestore() { + destCtx.restore(); + this.__originalRestore(); + }; + ctx.translate = function ctxTranslate(x, y) { + destCtx.translate(x, y); + this.__originalTranslate(x, y); + }; + ctx.scale = function ctxScale(x, y) { + destCtx.scale(x, y); + this.__originalScale(x, y); + }; + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + destCtx.transform(a, b, c, d, e, f); + this.__originalTransform(a, b, c, d, e, f); + }; + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + destCtx.setTransform(a, b, c, d, e, f); + this.__originalSetTransform(a, b, c, d, e, f); + }; + ctx.resetTransform = function ctxResetTransform() { + destCtx.resetTransform(); + this.__originalResetTransform(); + }; + ctx.rotate = function ctxRotate(angle) { + destCtx.rotate(angle); + this.__originalRotate(angle); + }; + ctx.clip = function ctxRotate(rule) { + destCtx.clip(rule); + this.__originalClip(rule); + }; + ctx.moveTo = function (x, y) { + destCtx.moveTo(x, y); + this.__originalMoveTo(x, y); + }; + ctx.lineTo = function (x, y) { + destCtx.lineTo(x, y); + this.__originalLineTo(x, y); + }; + ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { + destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + }; + ctx.rect = function (x, y, width, height) { + destCtx.rect(x, y, width, height); + this.__originalRect(x, y, width, height); + }; + ctx.closePath = function () { + destCtx.closePath(); + this.__originalClosePath(); + }; + ctx.beginPath = function () { + destCtx.beginPath(); + this.__originalBeginPath(); + }; +} +class CachedCanvases { + constructor(canvasFactory) { + this.canvasFactory = canvasFactory; + this.cache = Object.create(null); + } + getCanvas(id, width, height) { + let canvasEntry; + if (this.cache[id] !== undefined) { + canvasEntry = this.cache[id]; + this.canvasFactory.reset(canvasEntry, width, height); + } else { + canvasEntry = this.canvasFactory.create(width, height); + this.cache[id] = canvasEntry; + } + return canvasEntry; + } + delete(id) { + delete this.cache[id]; + } + clear() { + for (const id in this.cache) { + const canvasEntry = this.cache[id]; + this.canvasFactory.destroy(canvasEntry); + delete this.cache[id]; + } + } +} +function drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) { + const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx); + if (b === 0 && c === 0) { + const tlX = destX * a + tx; + const rTlX = Math.round(tlX); + const tlY = destY * d + ty; + const rTlY = Math.round(tlY); + const brX = (destX + destW) * a + tx; + const rWidth = Math.abs(Math.round(brX) - rTlX) || 1; + const brY = (destY + destH) * d + ty; + const rHeight = Math.abs(Math.round(brY) - rTlY) || 1; + ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY); + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight); + ctx.setTransform(a, b, c, d, tx, ty); + return [rWidth, rHeight]; + } + if (a === 0 && d === 0) { + const tlX = destY * c + tx; + const rTlX = Math.round(tlX); + const tlY = destX * b + ty; + const rTlY = Math.round(tlY); + const brX = (destY + destH) * c + tx; + const rWidth = Math.abs(Math.round(brX) - rTlX) || 1; + const brY = (destX + destW) * b + ty; + const rHeight = Math.abs(Math.round(brY) - rTlY) || 1; + ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY); + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth); + ctx.setTransform(a, b, c, d, tx, ty); + return [rHeight, rWidth]; + } + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH); + const scaleX = Math.hypot(a, b); + const scaleY = Math.hypot(c, d); + return [scaleX * destW, scaleY * destH]; +} +function compileType3Glyph(imgData) { + const { + width, + height + } = imgData; + if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) { + return null; + } + const POINT_TO_PROCESS_LIMIT = 1000; + const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]); + const width1 = width + 1; + let points = new Uint8Array(width1 * (height + 1)); + let i, j, j0; + const lineSize = width + 7 & ~7; + let data = new Uint8Array(lineSize * height), + pos = 0; + for (const elem of imgData.data) { + let mask = 128; + while (mask > 0) { + data[pos++] = elem & mask ? 0 : 255; + mask >>= 1; + } + } + let count = 0; + pos = 0; + if (data[pos] !== 0) { + points[0] = 1; + ++count; + } + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j] = data[pos] ? 2 : 1; + ++count; + } + pos++; + } + if (data[pos] !== 0) { + points[j] = 2; + ++count; + } + for (i = 1; i < height; i++) { + pos = i * lineSize; + j0 = i * width1; + if (data[pos - lineSize] !== data[pos]) { + points[j0] = data[pos] ? 1 : 8; + ++count; + } + let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0); + for (j = 1; j < width; j++) { + sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0); + if (POINT_TYPES[sum]) { + points[j0 + j] = POINT_TYPES[sum]; + ++count; + } + pos++; + } + if (data[pos - lineSize] !== data[pos]) { + points[j0 + j] = data[pos] ? 2 : 4; + ++count; + } + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + } + pos = lineSize * (height - 1); + j0 = i * width1; + if (data[pos] !== 0) { + points[j0] = 8; + ++count; + } + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j0 + j] = data[pos] ? 4 : 8; + ++count; + } + pos++; + } + if (data[pos] !== 0) { + points[j0 + j] = 4; + ++count; + } + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]); + const path = new Path2D(); + for (i = 0; count && i <= height; i++) { + let p = i * width1; + const end = p + width; + while (p < end && !points[p]) { + p++; + } + if (p === end) { + continue; + } + path.moveTo(p % width1, i); + const p0 = p; + let type = points[p]; + do { + const step = steps[type]; + do { + p += step; + } while (!points[p]); + const pp = points[p]; + if (pp !== 5 && pp !== 10) { + type = pp; + points[p] = 0; + } else { + type = pp & 0x33 * type >> 4; + points[p] &= type >> 2 | type << 2; + } + path.lineTo(p % width1, p / width1 | 0); + if (!points[p]) { + --count; + } + } while (p0 !== p); + --i; + } + data = null; + points = null; + const drawOutline = function (c) { + c.save(); + c.scale(1 / width, -1 / height); + c.translate(0, -height); + c.fill(path); + c.beginPath(); + c.restore(); + }; + return drawOutline; +} +class CanvasExtraState { + constructor(width, height) { + this.alphaIsShape = false; + this.fontSize = 0; + this.fontSizeScale = 1; + this.textMatrix = _util.IDENTITY_MATRIX; + this.textMatrixScale = 1; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textRise = 0; + this.fillColor = "#000000"; + this.strokeColor = "#000000"; + this.patternFill = false; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.activeSMask = null; + this.transferMaps = "none"; + this.startNewPathAndClipBox([0, 0, width, height]); + } + clone() { + const clone = Object.create(this); + clone.clipBox = this.clipBox.slice(); + return clone; + } + setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + updatePathMinMax(transform, x, y) { + [x, y] = _util.Util.applyTransform([x, y], transform); + this.minX = Math.min(this.minX, x); + this.minY = Math.min(this.minY, y); + this.maxX = Math.max(this.maxX, x); + this.maxY = Math.max(this.maxY, y); + } + updateRectMinMax(transform, rect) { + const p1 = _util.Util.applyTransform(rect, transform); + const p2 = _util.Util.applyTransform(rect.slice(2), transform); + this.minX = Math.min(this.minX, p1[0], p2[0]); + this.minY = Math.min(this.minY, p1[1], p2[1]); + this.maxX = Math.max(this.maxX, p1[0], p2[0]); + this.maxY = Math.max(this.maxY, p1[1], p2[1]); + } + updateScalingPathMinMax(transform, minMax) { + _util.Util.scaleMinMax(transform, minMax); + this.minX = Math.min(this.minX, minMax[0]); + this.maxX = Math.max(this.maxX, minMax[1]); + this.minY = Math.min(this.minY, minMax[2]); + this.maxY = Math.max(this.maxY, minMax[3]); + } + updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) { + const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3); + if (minMax) { + minMax[0] = Math.min(minMax[0], box[0], box[2]); + minMax[1] = Math.max(minMax[1], box[0], box[2]); + minMax[2] = Math.min(minMax[2], box[1], box[3]); + minMax[3] = Math.max(minMax[3], box[1], box[3]); + return; + } + this.updateRectMinMax(transform, box); + } + getPathBoundingBox() { + let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const box = [this.minX, this.minY, this.maxX, this.maxY]; + if (pathType === _pattern_helper.PathType.STROKE) { + if (!transform) { + (0, _util.unreachable)("Stroke bounding box must include transform."); + } + const scale = _util.Util.singularValueDecompose2dScale(transform); + const xStrokePad = scale[0] * this.lineWidth / 2; + const yStrokePad = scale[1] * this.lineWidth / 2; + box[0] -= xStrokePad; + box[1] -= yStrokePad; + box[2] += xStrokePad; + box[3] += yStrokePad; + } + return box; + } + updateClipFromPath() { + const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox()); + this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]); + } + isEmptyClip() { + return this.minX === Infinity; + } + startNewPathAndClipBox(box) { + this.clipBox = box; + this.minX = Infinity; + this.minY = Infinity; + this.maxX = 0; + this.maxY = 0; + } + getClippedPathBoundingBox() { + let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform)); + } +} +function putBinaryImageData(ctx, imgData) { + if (typeof ImageData !== "undefined" && imgData instanceof ImageData) { + ctx.putImageData(imgData, 0, 0); + return; + } + const height = imgData.height, + width = imgData.width; + const partialChunkHeight = height % FULL_CHUNK_HEIGHT; + const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + let srcPos = 0, + destPos; + const src = imgData.data; + const dest = chunkImgData.data; + let i, j, thisChunkHeight, elemsInThisChunk; + if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) { + const srcLength = src.byteLength; + const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); + const dest32DataLength = dest32.length; + const fullSrcDiff = width + 7 >> 3; + const white = 0xffffffff; + const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; + for (i = 0; i < totalChunks; i++) { + thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + destPos = 0; + for (j = 0; j < thisChunkHeight; j++) { + const srcDiff = srcLength - srcPos; + let k = 0; + const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; + const kEndUnrolled = kEnd & ~7; + let mask = 0; + let srcByte = 0; + for (; k < kEndUnrolled; k += 8) { + srcByte = src[srcPos++]; + dest32[destPos++] = srcByte & 128 ? white : black; + dest32[destPos++] = srcByte & 64 ? white : black; + dest32[destPos++] = srcByte & 32 ? white : black; + dest32[destPos++] = srcByte & 16 ? white : black; + dest32[destPos++] = srcByte & 8 ? white : black; + dest32[destPos++] = srcByte & 4 ? white : black; + dest32[destPos++] = srcByte & 2 ? white : black; + dest32[destPos++] = srcByte & 1 ? white : black; + } + for (; k < kEnd; k++) { + if (mask === 0) { + srcByte = src[srcPos++]; + mask = 128; + } + dest32[destPos++] = srcByte & mask ? white : black; + mask >>= 1; + } + } + while (destPos < dest32DataLength) { + dest32[destPos++] = 0; + } + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { + j = 0; + elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; + for (i = 0; i < fullChunks; i++) { + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + srcPos += elemsInThisChunk; + ctx.putImageData(chunkImgData, 0, j); + j += FULL_CHUNK_HEIGHT; + } + if (i < totalChunks) { + elemsInThisChunk = width * partialChunkHeight * 4; + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + ctx.putImageData(chunkImgData, 0, j); + } + } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { + thisChunkHeight = FULL_CHUNK_HEIGHT; + elemsInThisChunk = width * thisChunkHeight; + for (i = 0; i < totalChunks; i++) { + if (i >= fullChunks) { + thisChunkHeight = partialChunkHeight; + elemsInThisChunk = width * thisChunkHeight; + } + destPos = 0; + for (j = elemsInThisChunk; j--;) { + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = 255; + } + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else { + throw new Error(`bad image kind: ${imgData.kind}`); + } +} +function putBinaryImageMask(ctx, imgData) { + if (imgData.bitmap) { + ctx.drawImage(imgData.bitmap, 0, 0); + return; + } + const height = imgData.height, + width = imgData.width; + const partialChunkHeight = height % FULL_CHUNK_HEIGHT; + const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + let srcPos = 0; + const src = imgData.data; + const dest = chunkImgData.data; + for (let i = 0; i < totalChunks; i++) { + const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + ({ + srcPos + } = (0, _image_utils.convertBlackAndWhiteToRGBA)({ + src, + srcPos, + dest, + width, + height: thisChunkHeight, + nonBlackColor: 0 + })); + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } +} +function copyCtxState(sourceCtx, destCtx) { + const properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font", "filter"]; + for (const property of properties) { + if (sourceCtx[property] !== undefined) { + destCtx[property] = sourceCtx[property]; + } + } + if (sourceCtx.setLineDash !== undefined) { + destCtx.setLineDash(sourceCtx.getLineDash()); + destCtx.lineDashOffset = sourceCtx.lineDashOffset; + } +} +function resetCtxToDefault(ctx) { + ctx.strokeStyle = ctx.fillStyle = "#000000"; + ctx.fillRule = "nonzero"; + ctx.globalAlpha = 1; + ctx.lineWidth = 1; + ctx.lineCap = "butt"; + ctx.lineJoin = "miter"; + ctx.miterLimit = 10; + ctx.globalCompositeOperation = "source-over"; + ctx.font = "10px sans-serif"; + if (ctx.setLineDash !== undefined) { + ctx.setLineDash([]); + ctx.lineDashOffset = 0; + } + if (!_util.isNodeJS) { + const { + filter + } = ctx; + if (filter !== "none" && filter !== "") { + ctx.filter = "none"; + } + } +} +function composeSMaskBackdrop(bytes, r0, g0, b0) { + const length = bytes.length; + for (let i = 3; i < length; i += 4) { + const alpha = bytes[i]; + if (alpha === 0) { + bytes[i - 3] = r0; + bytes[i - 2] = g0; + bytes[i - 1] = b0; + } else if (alpha < 255) { + const alpha_ = 255 - alpha; + bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; + bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; + bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; + } + } +} +function composeSMaskAlpha(maskData, layerData, transferMap) { + const length = maskData.length; + const scale = 1 / 255; + for (let i = 3; i < length; i += 4) { + const alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; + layerData[i] = layerData[i] * alpha * scale | 0; + } +} +function composeSMaskLuminosity(maskData, layerData, transferMap) { + const length = maskData.length; + for (let i = 3; i < length; i += 4) { + const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28; + layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16; + } +} +function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) { + const hasBackdrop = !!backdrop; + const r0 = hasBackdrop ? backdrop[0] : 0; + const g0 = hasBackdrop ? backdrop[1] : 0; + const b0 = hasBackdrop ? backdrop[2] : 0; + const composeFn = subtype === "Luminosity" ? composeSMaskLuminosity : composeSMaskAlpha; + const PIXELS_TO_PROCESS = 1048576; + const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); + for (let row = 0; row < height; row += chunkSize) { + const chunkHeight = Math.min(chunkSize, height - row); + const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight); + const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight); + if (hasBackdrop) { + composeSMaskBackdrop(maskData.data, r0, g0, b0); + } + composeFn(maskData.data, layerData.data, transferMap); + layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY); + } +} +function composeSMask(ctx, smask, layerCtx, layerBox) { + const layerOffsetX = layerBox[0]; + const layerOffsetY = layerBox[1]; + const layerWidth = layerBox[2] - layerOffsetX; + const layerHeight = layerBox[3] - layerOffsetY; + if (layerWidth === 0 || layerHeight === 0) { + return; + } + genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY); + ctx.save(); + ctx.globalAlpha = 1; + ctx.globalCompositeOperation = "source-over"; + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(layerCtx.canvas, 0, 0); + ctx.restore(); +} +function getImageSmoothingEnabled(transform, interpolate) { + const scale = _util.Util.singularValueDecompose2dScale(transform); + scale[0] = Math.fround(scale[0]); + scale[1] = Math.fround(scale[1]); + const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + if (interpolate !== undefined) { + return interpolate; + } else if (scale[0] <= actualScale || scale[1] <= actualScale) { + return true; + } + return false; +} +const LINE_CAP_STYLES = ["butt", "round", "square"]; +const LINE_JOIN_STYLES = ["miter", "round", "bevel"]; +const NORMAL_CLIP = {}; +const EO_CLIP = {}; +class CanvasGraphics { + constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, _ref, annotationCanvasMap, pageColors) { + let { + optionalContentConfig, + markedContentStack = null + } = _ref; + this.ctx = canvasCtx; + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.stateStack = []; + this.pendingClip = null; + this.pendingEOFill = false; + this.res = null; + this.xobjs = null; + this.commonObjs = commonObjs; + this.objs = objs; + this.canvasFactory = canvasFactory; + this.filterFactory = filterFactory; + this.groupStack = []; + this.processingType3 = null; + this.baseTransform = null; + this.baseTransformStack = []; + this.groupLevel = 0; + this.smaskStack = []; + this.smaskCounter = 0; + this.tempSMask = null; + this.suspendedCtx = null; + this.contentVisible = true; + this.markedContentStack = markedContentStack || []; + this.optionalContentConfig = optionalContentConfig; + this.cachedCanvases = new CachedCanvases(this.canvasFactory); + this.cachedPatterns = new Map(); + this.annotationCanvasMap = annotationCanvasMap; + this.viewportScale = 1; + this.outputScaleX = 1; + this.outputScaleY = 1; + this.pageColors = pageColors; + this._cachedScaleForStroking = [-1, 0]; + this._cachedGetSinglePixelWidth = null; + this._cachedBitmapsMap = new Map(); + } + getObject(data) { + let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (typeof data === "string") { + return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data); + } + return fallback; + } + beginDrawing(_ref2) { + let { + transform, + viewport, + transparency = false, + background = null + } = _ref2; + const width = this.ctx.canvas.width; + const height = this.ctx.canvas.height; + const savedFillStyle = this.ctx.fillStyle; + this.ctx.fillStyle = background || "#ffffff"; + this.ctx.fillRect(0, 0, width, height); + this.ctx.fillStyle = savedFillStyle; + if (transparency) { + const transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height); + this.compositeCtx = this.ctx; + this.transparentCanvas = transparentCanvas.canvas; + this.ctx = transparentCanvas.context; + this.ctx.save(); + this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx)); + } + this.ctx.save(); + resetCtxToDefault(this.ctx); + if (transform) { + this.ctx.transform(...transform); + this.outputScaleX = transform[0]; + this.outputScaleY = transform[0]; + } + this.ctx.transform(...viewport.transform); + this.viewportScale = viewport.scale; + this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx); + } + executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { + const argsArray = operatorList.argsArray; + const fnArray = operatorList.fnArray; + let i = executionStartIdx || 0; + const argsArrayLen = argsArray.length; + if (argsArrayLen === i) { + return i; + } + const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function"; + const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0; + let steps = 0; + const commonObjs = this.commonObjs; + const objs = this.objs; + let fnId; + while (true) { + if (stepper !== undefined && i === stepper.nextBreakPoint) { + stepper.breakIt(i, continueCallback); + return i; + } + fnId = fnArray[i]; + if (fnId !== _util.OPS.dependency) { + this[fnId].apply(this, argsArray[i]); + } else { + for (const depObjId of argsArray[i]) { + const objsPool = depObjId.startsWith("g_") ? commonObjs : objs; + if (!objsPool.has(depObjId)) { + objsPool.get(depObjId, continueCallback); + return i; + } + } + } + i++; + if (i === argsArrayLen) { + return i; + } + if (chunkOperations && ++steps > EXECUTION_STEPS) { + if (Date.now() > endTime) { + continueCallback(); + return i; + } + steps = 0; + } + } + } + #restoreInitialState() { + while (this.stateStack.length || this.inSMaskMode) { + this.restore(); + } + this.ctx.restore(); + if (this.transparentCanvas) { + this.ctx = this.compositeCtx; + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.drawImage(this.transparentCanvas, 0, 0); + this.ctx.restore(); + this.transparentCanvas = null; + } + } + endDrawing() { + this.#restoreInitialState(); + this.cachedCanvases.clear(); + this.cachedPatterns.clear(); + for (const cache of this._cachedBitmapsMap.values()) { + for (const canvas of cache.values()) { + if (typeof HTMLCanvasElement !== "undefined" && canvas instanceof HTMLCanvasElement) { + canvas.width = canvas.height = 0; + } + } + cache.clear(); + } + this._cachedBitmapsMap.clear(); + this.#drawFilter(); + } + #drawFilter() { + if (this.pageColors) { + const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background); + if (hcmFilterId !== "none") { + const savedFilter = this.ctx.filter; + this.ctx.filter = hcmFilterId; + this.ctx.drawImage(this.ctx.canvas, 0, 0); + this.ctx.filter = savedFilter; + } + } + } + _scaleImage(img, inverseTransform) { + const width = img.width; + const height = img.height; + let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1); + let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1); + let paintWidth = width, + paintHeight = height; + let tmpCanvasId = "prescale1"; + let tmpCanvas, tmpCtx; + while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { + let newWidth = paintWidth, + newHeight = paintHeight; + if (widthScale > 2 && paintWidth > 1) { + newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2); + widthScale /= paintWidth / newWidth; + } + if (heightScale > 2 && paintHeight > 1) { + newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2; + heightScale /= paintHeight / newHeight; + } + tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); + tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, newWidth, newHeight); + tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); + img = tmpCanvas.canvas; + paintWidth = newWidth; + paintHeight = newHeight; + tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1"; + } + return { + img, + paintWidth, + paintHeight + }; + } + _createMaskCanvas(img) { + const ctx = this.ctx; + const { + width, + height + } = img; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); + let cache, cacheKey, scaled, maskCanvas; + if ((img.bitmap || img.data) && img.count > 1) { + const mainKey = img.bitmap || img.data.buffer; + cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]); + cache = this._cachedBitmapsMap.get(mainKey); + if (!cache) { + cache = new Map(); + this._cachedBitmapsMap.set(mainKey, cache); + } + const cachedImage = cache.get(cacheKey); + if (cachedImage && !isPatternFill) { + const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]); + const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]); + return { + canvas: cachedImage, + offsetX, + offsetY + }; + } + scaled = cachedImage; + } + if (!scaled) { + maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + putBinaryImageMask(maskCanvas.context, img); + } + let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]); + maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]); + const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas); + const cord2 = _util.Util.applyTransform([width, height], maskToCanvas); + const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]); + const drawnWidth = Math.round(rect[2] - rect[0]) || 1; + const drawnHeight = Math.round(rect[3] - rect[1]) || 1; + const fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight); + const fillCtx = fillCanvas.context; + const offsetX = Math.min(cord1[0], cord2[0]); + const offsetY = Math.min(cord1[1], cord2[1]); + fillCtx.translate(-offsetX, -offsetY); + fillCtx.transform(...maskToCanvas); + if (!scaled) { + scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx)); + scaled = scaled.img; + if (cache && isPatternFill) { + cache.set(cacheKey, scaled); + } + } + fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate); + drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height); + fillCtx.globalCompositeOperation = "source-in"; + const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]); + fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor; + fillCtx.fillRect(0, 0, width, height); + if (cache && !isPatternFill) { + this.cachedCanvases.delete("fillCanvas"); + cache.set(cacheKey, fillCanvas.canvas); + } + return { + canvas: fillCanvas.canvas, + offsetX: Math.round(offsetX), + offsetY: Math.round(offsetY) + }; + } + setLineWidth(width) { + if (width !== this.current.lineWidth) { + this._cachedScaleForStroking[0] = -1; + } + this.current.lineWidth = width; + this.ctx.lineWidth = width; + } + setLineCap(style) { + this.ctx.lineCap = LINE_CAP_STYLES[style]; + } + setLineJoin(style) { + this.ctx.lineJoin = LINE_JOIN_STYLES[style]; + } + setMiterLimit(limit) { + this.ctx.miterLimit = limit; + } + setDash(dashArray, dashPhase) { + const ctx = this.ctx; + if (ctx.setLineDash !== undefined) { + ctx.setLineDash(dashArray); + ctx.lineDashOffset = dashPhase; + } + } + setRenderingIntent(intent) {} + setFlatness(flatness) {} + setGState(states) { + for (const [key, value] of states) { + switch (key) { + case "LW": + this.setLineWidth(value); + break; + case "LC": + this.setLineCap(value); + break; + case "LJ": + this.setLineJoin(value); + break; + case "ML": + this.setMiterLimit(value); + break; + case "D": + this.setDash(value[0], value[1]); + break; + case "RI": + this.setRenderingIntent(value); + break; + case "FL": + this.setFlatness(value); + break; + case "Font": + this.setFont(value[0], value[1]); + break; + case "CA": + this.current.strokeAlpha = value; + break; + case "ca": + this.current.fillAlpha = value; + this.ctx.globalAlpha = value; + break; + case "BM": + this.ctx.globalCompositeOperation = value; + break; + case "SMask": + this.current.activeSMask = value ? this.tempSMask : null; + this.tempSMask = null; + this.checkSMaskState(); + break; + case "TR": + this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value); + break; + } + } + } + get inSMaskMode() { + return !!this.suspendedCtx; + } + checkSMaskState() { + const inSMaskMode = this.inSMaskMode; + if (this.current.activeSMask && !inSMaskMode) { + this.beginSMaskMode(); + } else if (!this.current.activeSMask && inSMaskMode) { + this.endSMaskMode(); + } + } + beginSMaskMode() { + if (this.inSMaskMode) { + throw new Error("beginSMaskMode called while already in smask mode"); + } + const drawnWidth = this.ctx.canvas.width; + const drawnHeight = this.ctx.canvas.height; + const cacheId = "smaskGroupAt" + this.groupLevel; + const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight); + this.suspendedCtx = this.ctx; + this.ctx = scratchCanvas.context; + const ctx = this.ctx; + ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx)); + copyCtxState(this.suspendedCtx, ctx); + mirrorContextOperations(ctx, this.suspendedCtx); + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + } + endSMaskMode() { + if (!this.inSMaskMode) { + throw new Error("endSMaskMode called while not in smask mode"); + } + this.ctx._removeMirroring(); + copyCtxState(this.ctx, this.suspendedCtx); + this.ctx = this.suspendedCtx; + this.suspendedCtx = null; + } + compose(dirtyBox) { + if (!this.current.activeSMask) { + return; + } + if (!dirtyBox) { + dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height]; + } else { + dirtyBox[0] = Math.floor(dirtyBox[0]); + dirtyBox[1] = Math.floor(dirtyBox[1]); + dirtyBox[2] = Math.ceil(dirtyBox[2]); + dirtyBox[3] = Math.ceil(dirtyBox[3]); + } + const smask = this.current.activeSMask; + const suspendedCtx = this.suspendedCtx; + composeSMask(suspendedCtx, smask, this.ctx, dirtyBox); + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height); + this.ctx.restore(); + } + save() { + if (this.inSMaskMode) { + copyCtxState(this.ctx, this.suspendedCtx); + this.suspendedCtx.save(); + } else { + this.ctx.save(); + } + const old = this.current; + this.stateStack.push(old); + this.current = old.clone(); + } + restore() { + if (this.stateStack.length === 0 && this.inSMaskMode) { + this.endSMaskMode(); + } + if (this.stateStack.length !== 0) { + this.current = this.stateStack.pop(); + if (this.inSMaskMode) { + this.suspendedCtx.restore(); + copyCtxState(this.suspendedCtx, this.ctx); + } else { + this.ctx.restore(); + } + this.checkSMaskState(); + this.pendingClip = null; + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + } + } + transform(a, b, c, d, e, f) { + this.ctx.transform(a, b, c, d, e, f); + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + } + constructPath(ops, args, minMax) { + const ctx = this.ctx; + const current = this.current; + let x = current.x, + y = current.y; + let startX, startY; + const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); + const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0; + const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null; + for (let i = 0, j = 0, ii = ops.length; i < ii; i++) { + switch (ops[i] | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + const width = args[j++]; + const height = args[j++]; + const xw = x + width; + const yh = y + height; + ctx.moveTo(x, y); + if (width === 0 || height === 0) { + ctx.lineTo(xw, yh); + } else { + ctx.lineTo(xw, y); + ctx.lineTo(xw, yh); + ctx.lineTo(x, yh); + } + if (!isScalingMatrix) { + current.updateRectMinMax(currentTransform, [x, y, xw, yh]); + } + ctx.closePath(); + break; + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + ctx.moveTo(x, y); + if (!isScalingMatrix) { + current.updatePathMinMax(currentTransform, x, y); + } + break; + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + ctx.lineTo(x, y); + if (!isScalingMatrix) { + current.updatePathMinMax(currentTransform, x, y); + } + break; + case _util.OPS.curveTo: + startX = x; + startY = y; + x = args[j + 4]; + y = args[j + 5]; + ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y); + current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier); + j += 6; + break; + case _util.OPS.curveTo2: + startX = x; + startY = y; + ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); + current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + case _util.OPS.curveTo3: + startX = x; + startY = y; + x = args[j + 2]; + y = args[j + 3]; + ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y); + current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier); + j += 4; + break; + case _util.OPS.closePath: + ctx.closePath(); + break; + } + } + if (isScalingMatrix) { + current.updateScalingPathMinMax(currentTransform, minMaxForBezier); + } + current.setCurrentPoint(x, y); + } + closePath() { + this.ctx.closePath(); + } + stroke() { + let consumePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + const ctx = this.ctx; + const strokeColor = this.current.strokeColor; + ctx.globalAlpha = this.current.strokeAlpha; + if (this.contentVisible) { + if (typeof strokeColor === "object" && strokeColor?.getPattern) { + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE); + this.rescaleAndStroke(false); + ctx.restore(); + } else { + this.rescaleAndStroke(true); + } + } + if (consumePath) { + this.consumePath(this.current.getClippedPathBoundingBox()); + } + ctx.globalAlpha = this.current.fillAlpha; + } + closeStroke() { + this.closePath(); + this.stroke(); + } + fill() { + let consumePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + const ctx = this.ctx; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + let needRestore = false; + if (isPatternFill) { + ctx.save(); + ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL); + needRestore = true; + } + const intersect = this.current.getClippedPathBoundingBox(); + if (this.contentVisible && intersect !== null) { + if (this.pendingEOFill) { + ctx.fill("evenodd"); + this.pendingEOFill = false; + } else { + ctx.fill(); + } + } + if (needRestore) { + ctx.restore(); + } + if (consumePath) { + this.consumePath(intersect); + } + } + eoFill() { + this.pendingEOFill = true; + this.fill(); + } + fillStroke() { + this.fill(false); + this.stroke(false); + this.consumePath(); + } + eoFillStroke() { + this.pendingEOFill = true; + this.fillStroke(); + } + closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + closeEOFillStroke() { + this.pendingEOFill = true; + this.closePath(); + this.fillStroke(); + } + endPath() { + this.consumePath(); + } + clip() { + this.pendingClip = NORMAL_CLIP; + } + eoClip() { + this.pendingClip = EO_CLIP; + } + beginText() { + this.current.textMatrix = _util.IDENTITY_MATRIX; + this.current.textMatrixScale = 1; + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + endText() { + const paths = this.pendingTextPaths; + const ctx = this.ctx; + if (paths === undefined) { + ctx.beginPath(); + return; + } + ctx.save(); + ctx.beginPath(); + for (const path of paths) { + ctx.setTransform(...path.transform); + ctx.translate(path.x, path.y); + path.addToPath(ctx, path.fontSize); + } + ctx.restore(); + ctx.clip(); + ctx.beginPath(); + delete this.pendingTextPaths; + } + setCharSpacing(spacing) { + this.current.charSpacing = spacing; + } + setWordSpacing(spacing) { + this.current.wordSpacing = spacing; + } + setHScale(scale) { + this.current.textHScale = scale / 100; + } + setLeading(leading) { + this.current.leading = -leading; + } + setFont(fontRefName, size) { + const fontObj = this.commonObjs.get(fontRefName); + const current = this.current; + if (!fontObj) { + throw new Error(`Can't find font for ${fontRefName}`); + } + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { + (0, _util.warn)("Invalid font matrix for font " + fontRefName); + } + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + this.current.font = fontObj; + this.current.fontSize = size; + if (fontObj.isType3Font) { + return; + } + const name = fontObj.loadedName || "sans-serif"; + const typeface = fontObj.systemFontInfo?.css || `"${name}", ${fontObj.fallbackName}`; + let bold = "normal"; + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + const italic = fontObj.italic ? "italic" : "normal"; + let browserFontSize = size; + if (size < MIN_FONT_SIZE) { + browserFontSize = MIN_FONT_SIZE; + } else if (size > MAX_FONT_SIZE) { + browserFontSize = MAX_FONT_SIZE; + } + this.current.fontSizeScale = size / browserFontSize; + this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`; + } + setTextRenderingMode(mode) { + this.current.textRenderingMode = mode; + } + setTextRise(rise) { + this.current.textRise = rise; + } + moveText(x, y) { + this.current.x = this.current.lineX += x; + this.current.y = this.current.lineY += y; + } + setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + setTextMatrix(a, b, c, d, e, f) { + this.current.textMatrix = [a, b, c, d, e, f]; + this.current.textMatrixScale = Math.hypot(a, b); + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + nextLine() { + this.moveText(0, this.current.leading); + } + paintChar(character, x, y, patternTransform) { + const ctx = this.ctx; + const current = this.current; + const font = current.font; + const textRenderingMode = current.textRenderingMode; + const fontSize = current.fontSize / current.fontSizeScale; + const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG); + const patternFill = current.patternFill && !font.missingFile; + let addToPath; + if (font.disableFontFace || isAddToPathSet || patternFill) { + addToPath = font.getPathGenerator(this.commonObjs, character); + } + if (font.disableFontFace || patternFill) { + ctx.save(); + ctx.translate(x, y); + ctx.beginPath(); + addToPath(ctx, fontSize); + if (patternTransform) { + ctx.setTransform(...patternTransform); + } + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fill(); + } + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.stroke(); + } + ctx.restore(); + } else { + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fillText(character, x, y); + } + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.strokeText(character, x, y); + } + } + if (isAddToPathSet) { + const paths = this.pendingTextPaths ||= []; + paths.push({ + transform: (0, _display_utils.getCurrentTransform)(ctx), + x, + y, + fontSize, + addToPath + }); + } + } + get isFontSubpixelAAEnabled() { + const { + context: ctx + } = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10); + ctx.scale(1.5, 1); + ctx.fillText("I", 0, 10); + const data = ctx.getImageData(0, 0, 10, 10).data; + let enabled = false; + for (let i = 3; i < data.length; i += 4) { + if (data[i] > 0 && data[i] < 255) { + enabled = true; + break; + } + } + return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled); + } + showText(glyphs) { + const current = this.current; + const font = current.font; + if (font.isType3Font) { + return this.showType3Text(glyphs); + } + const fontSize = current.fontSize; + if (fontSize === 0) { + return undefined; + } + const ctx = this.ctx; + const fontSizeScale = current.fontSizeScale; + const charSpacing = current.charSpacing; + const wordSpacing = current.wordSpacing; + const fontDirection = current.fontDirection; + const textHScale = current.textHScale * fontDirection; + const glyphsLength = glyphs.length; + const vertical = font.vertical; + const spacingDir = vertical ? 1 : -1; + const defaultVMetrics = font.defaultVMetrics; + const widthAdvanceScale = fontSize * current.fontMatrix[0]; + const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill; + ctx.save(); + ctx.transform(...current.textMatrix); + ctx.translate(current.x, current.y + current.textRise); + if (fontDirection > 0) { + ctx.scale(textHScale, -1); + } else { + ctx.scale(textHScale, 1); + } + let patternTransform; + if (current.patternFill) { + ctx.save(); + const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL); + patternTransform = (0, _display_utils.getCurrentTransform)(ctx); + ctx.restore(); + ctx.fillStyle = pattern; + } + let lineWidth = current.lineWidth; + const scale = current.textMatrixScale; + if (scale === 0 || lineWidth === 0) { + const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + lineWidth = this.getSinglePixelWidth(); + } + } else { + lineWidth /= scale; + } + if (fontSizeScale !== 1.0) { + ctx.scale(fontSizeScale, fontSizeScale); + lineWidth /= fontSizeScale; + } + ctx.lineWidth = lineWidth; + if (font.isInvalidPDFjsFont) { + const chars = []; + let width = 0; + for (const glyph of glyphs) { + chars.push(glyph.unicode); + width += glyph.width; + } + ctx.fillText(chars.join(""), 0, 0); + current.x += width * widthAdvanceScale * textHScale; + ctx.restore(); + this.compose(); + return undefined; + } + let x = 0, + i; + for (i = 0; i < glyphsLength; ++i) { + const glyph = glyphs[i]; + if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + let restoreNeeded = false; + const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + const character = glyph.fontChar; + const accent = glyph.accent; + let scaledX, scaledY; + let width = glyph.width; + if (vertical) { + const vmetric = glyph.vmetric || defaultVMetrics; + const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale; + const vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + if (font.remeasure && width > 0) { + const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale; + if (width < measuredWidth && this.isFontSubpixelAAEnabled) { + const characterScaleX = width / measuredWidth; + restoreNeeded = true; + ctx.save(); + ctx.scale(characterScaleX, 1); + scaledX /= characterScaleX; + } else if (width !== measuredWidth) { + scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; + } + } + if (this.contentVisible && (glyph.isInFont || font.missingFile)) { + if (simpleFillText && !accent) { + ctx.fillText(character, scaledX, scaledY); + } else { + this.paintChar(character, scaledX, scaledY, patternTransform); + if (accent) { + const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale; + const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale; + this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform); + } + } + } + const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection; + x += charWidth; + if (restoreNeeded) { + ctx.restore(); + } + } + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + ctx.restore(); + this.compose(); + return undefined; + } + showType3Text(glyphs) { + const ctx = this.ctx; + const current = this.current; + const font = current.font; + const fontSize = current.fontSize; + const fontDirection = current.fontDirection; + const spacingDir = font.vertical ? 1 : -1; + const charSpacing = current.charSpacing; + const wordSpacing = current.wordSpacing; + const textHScale = current.textHScale * fontDirection; + const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX; + const glyphsLength = glyphs.length; + const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE; + let i, glyph, width, spacingLength; + if (isTextInvisible || fontSize === 0) { + return; + } + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + ctx.save(); + ctx.transform(...current.textMatrix); + ctx.translate(current.x, current.y); + ctx.scale(textHScale, fontDirection); + for (i = 0; i < glyphsLength; ++i) { + glyph = glyphs[i]; + if (typeof glyph === "number") { + spacingLength = spacingDir * glyph * fontSize / 1000; + this.ctx.translate(spacingLength, 0); + current.x += spacingLength * textHScale; + continue; + } + const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + const operatorList = font.charProcOperatorList[glyph.operatorListId]; + if (!operatorList) { + (0, _util.warn)(`Type3 character "${glyph.operatorListId}" is not available.`); + continue; + } + if (this.contentVisible) { + this.processingType3 = glyph; + this.save(); + ctx.scale(fontSize, fontSize); + ctx.transform(...fontMatrix); + this.executeOperatorList(operatorList); + this.restore(); + } + const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix); + width = transformed[0] * fontSize + spacing; + ctx.translate(width, 0); + current.x += width * textHScale; + } + ctx.restore(); + this.processingType3 = null; + } + setCharWidth(xWidth, yWidth) {} + setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { + this.ctx.rect(llx, lly, urx - llx, ury - lly); + this.ctx.clip(); + this.endPath(); + } + getColorN_Pattern(IR) { + let pattern; + if (IR[0] === "TilingPattern") { + const color = IR[1]; + const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx); + const canvasGraphicsFactory = { + createCanvasGraphics: ctx => { + return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, { + optionalContentConfig: this.optionalContentConfig, + markedContentStack: this.markedContentStack + }); + } + }; + pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); + } else { + pattern = this._getPattern(IR[1], IR[2]); + } + return pattern; + } + setStrokeColorN() { + this.current.strokeColor = this.getColorN_Pattern(arguments); + } + setFillColorN() { + this.current.fillColor = this.getColorN_Pattern(arguments); + this.current.patternFill = true; + } + setStrokeRGBColor(r, g, b) { + const color = _util.Util.makeHexColor(r, g, b); + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + } + setFillRGBColor(r, g, b) { + const color = _util.Util.makeHexColor(r, g, b); + this.ctx.fillStyle = color; + this.current.fillColor = color; + this.current.patternFill = false; + } + _getPattern(objId) { + let matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let pattern; + if (this.cachedPatterns.has(objId)) { + pattern = this.cachedPatterns.get(objId); + } else { + pattern = (0, _pattern_helper.getShadingPattern)(this.getObject(objId)); + this.cachedPatterns.set(objId, pattern); + } + if (matrix) { + pattern.matrix = matrix; + } + return pattern; + } + shadingFill(objId) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + this.save(); + const pattern = this._getPattern(objId); + ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING); + const inv = (0, _display_utils.getCurrentTransformInverse)(ctx); + if (inv) { + const { + width, + height + } = ctx.canvas; + const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv); + this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); + } else { + this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); + } + this.compose(this.current.getClippedPathBoundingBox()); + this.restore(); + } + beginInlineImage() { + (0, _util.unreachable)("Should not call beginInlineImage"); + } + beginImageData() { + (0, _util.unreachable)("Should not call beginImageData"); + } + paintFormXObjectBegin(matrix, bbox) { + if (!this.contentVisible) { + return; + } + this.save(); + this.baseTransformStack.push(this.baseTransform); + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform(...matrix); + } + this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx); + if (bbox) { + const width = bbox[2] - bbox[0]; + const height = bbox[3] - bbox[1]; + this.ctx.rect(bbox[0], bbox[1], width, height); + this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox); + this.clip(); + this.endPath(); + } + } + paintFormXObjectEnd() { + if (!this.contentVisible) { + return; + } + this.restore(); + this.baseTransform = this.baseTransformStack.pop(); + } + beginGroup(group) { + if (!this.contentVisible) { + return; + } + this.save(); + if (this.inSMaskMode) { + this.endSMaskMode(); + this.current.activeSMask = null; + } + const currentCtx = this.ctx; + if (!group.isolated) { + (0, _util.info)("TODO: Support non-isolated groups."); + } + if (group.knockout) { + (0, _util.warn)("Knockout groups not supported."); + } + const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx); + if (group.matrix) { + currentCtx.transform(...group.matrix); + } + if (!group.bbox) { + throw new Error("Bounding box is required."); + } + let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx)); + const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height]; + bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0]; + const offsetX = Math.floor(bounds[0]); + const offsetY = Math.floor(bounds[1]); + let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1); + let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1); + let scaleX = 1, + scaleY = 1; + if (drawnWidth > MAX_GROUP_SIZE) { + scaleX = drawnWidth / MAX_GROUP_SIZE; + drawnWidth = MAX_GROUP_SIZE; + } + if (drawnHeight > MAX_GROUP_SIZE) { + scaleY = drawnHeight / MAX_GROUP_SIZE; + drawnHeight = MAX_GROUP_SIZE; + } + this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]); + let cacheId = "groupAt" + this.groupLevel; + if (group.smask) { + cacheId += "_smask_" + this.smaskCounter++ % 2; + } + const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight); + const groupCtx = scratchCanvas.context; + groupCtx.scale(1 / scaleX, 1 / scaleY); + groupCtx.translate(-offsetX, -offsetY); + groupCtx.transform(...currentTransform); + if (group.smask) { + this.smaskStack.push({ + canvas: scratchCanvas.canvas, + context: groupCtx, + offsetX, + offsetY, + scaleX, + scaleY, + subtype: group.smask.subtype, + backdrop: group.smask.backdrop, + transferMap: group.smask.transferMap || null, + startTransformInverse: null + }); + } else { + currentCtx.setTransform(1, 0, 0, 1, 0, 0); + currentCtx.translate(offsetX, offsetY); + currentCtx.scale(scaleX, scaleY); + currentCtx.save(); + } + copyCtxState(currentCtx, groupCtx); + this.ctx = groupCtx; + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + this.groupStack.push(currentCtx); + this.groupLevel++; + } + endGroup(group) { + if (!this.contentVisible) { + return; + } + this.groupLevel--; + const groupCtx = this.ctx; + const ctx = this.groupStack.pop(); + this.ctx = ctx; + this.ctx.imageSmoothingEnabled = false; + if (group.smask) { + this.tempSMask = this.smaskStack.pop(); + this.restore(); + } else { + this.ctx.restore(); + const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx); + this.restore(); + this.ctx.save(); + this.ctx.setTransform(...currentMtx); + const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx); + this.ctx.drawImage(groupCtx.canvas, 0, 0); + this.ctx.restore(); + this.compose(dirtyBox); + } + } + beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) { + this.#restoreInitialState(); + resetCtxToDefault(this.ctx); + this.ctx.save(); + this.save(); + if (this.baseTransform) { + this.ctx.setTransform(...this.baseTransform); + } + if (Array.isArray(rect) && rect.length === 4) { + const width = rect[2] - rect[0]; + const height = rect[3] - rect[1]; + if (hasOwnCanvas && this.annotationCanvasMap) { + transform = transform.slice(); + transform[4] -= rect[0]; + transform[5] -= rect[1]; + rect = rect.slice(); + rect[0] = rect[1] = 0; + rect[2] = width; + rect[3] = height; + const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx)); + const { + viewportScale + } = this; + const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale); + const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale); + this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight); + const { + canvas, + context + } = this.annotationCanvas; + this.annotationCanvasMap.set(id, canvas); + this.annotationCanvas.savedCtx = this.ctx; + this.ctx = context; + this.ctx.save(); + this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY); + resetCtxToDefault(this.ctx); + } else { + resetCtxToDefault(this.ctx); + this.ctx.rect(rect[0], rect[1], width, height); + this.ctx.clip(); + this.endPath(); + } + } + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.transform(...transform); + this.transform(...matrix); + } + endAnnotation() { + if (this.annotationCanvas) { + this.ctx.restore(); + this.#drawFilter(); + this.ctx = this.annotationCanvas.savedCtx; + delete this.annotationCanvas.savedCtx; + delete this.annotationCanvas; + } + } + paintImageMaskXObject(img) { + if (!this.contentVisible) { + return; + } + const count = img.count; + img = this.getObject(img.data, img); + img.count = count; + const ctx = this.ctx; + const glyph = this.processingType3; + if (glyph) { + if (glyph.compiled === undefined) { + glyph.compiled = compileType3Glyph(img); + } + if (glyph.compiled) { + glyph.compiled(ctx); + return; + } + } + const mask = this._createMaskCanvas(img); + const maskCanvas = mask.canvas; + ctx.save(); + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY); + ctx.restore(); + this.compose(); + } + paintImageMaskXObjectRepeat(img, scaleX) { + let skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + let skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + let scaleY = arguments.length > 4 ? arguments[4] : undefined; + let positions = arguments.length > 5 ? arguments[5] : undefined; + if (!this.contentVisible) { + return; + } + img = this.getObject(img.data, img); + const ctx = this.ctx; + ctx.save(); + const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); + ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0); + const mask = this._createMaskCanvas(img); + ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]); + for (let i = 0, ii = positions.length; i < ii; i += 2) { + const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]); + const [x, y] = _util.Util.applyTransform([0, 0], trans); + ctx.drawImage(mask.canvas, x, y); + } + ctx.restore(); + this.compose(); + } + paintImageMaskXObjectGroup(images) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + for (const image of images) { + const { + data, + width, + height, + transform + } = image; + const maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + const maskCtx = maskCanvas.context; + maskCtx.save(); + const img = this.getObject(data, image); + putBinaryImageMask(maskCtx, img); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + ctx.save(); + ctx.transform(...transform); + ctx.scale(1, -1); + drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); + ctx.restore(); + } + this.compose(); + } + paintImageXObject(objId) { + if (!this.contentVisible) { + return; + } + const imgData = this.getObject(objId); + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + this.paintInlineImageXObject(imgData); + } + paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { + if (!this.contentVisible) { + return; + } + const imgData = this.getObject(objId); + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + const width = imgData.width; + const height = imgData.height; + const map = []; + for (let i = 0, ii = positions.length; i < ii; i += 2) { + map.push({ + transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], + x: 0, + y: 0, + w: width, + h: height + }); + } + this.paintInlineImageXObjectGroup(imgData, map); + } + applyTransferMapsToCanvas(ctx) { + if (this.current.transferMaps !== "none") { + ctx.filter = this.current.transferMaps; + ctx.drawImage(ctx.canvas, 0, 0); + ctx.filter = "none"; + } + return ctx.canvas; + } + applyTransferMapsToBitmap(imgData) { + if (this.current.transferMaps === "none") { + return imgData.bitmap; + } + const { + bitmap, + width, + height + } = imgData; + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + const tmpCtx = tmpCanvas.context; + tmpCtx.filter = this.current.transferMaps; + tmpCtx.drawImage(bitmap, 0, 0); + tmpCtx.filter = "none"; + return tmpCanvas.canvas; + } + paintInlineImageXObject(imgData) { + if (!this.contentVisible) { + return; + } + const width = imgData.width; + const height = imgData.height; + const ctx = this.ctx; + this.save(); + if (!_util.isNodeJS) { + const { + filter + } = ctx; + if (filter !== "none" && filter !== "") { + ctx.filter = "none"; + } + } + ctx.scale(1 / width, -1 / height); + let imgToPaint; + if (imgData.bitmap) { + imgToPaint = this.applyTransferMapsToBitmap(imgData); + } else if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { + imgToPaint = imgData; + } else { + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + const tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData); + imgToPaint = this.applyTransferMapsToCanvas(tmpCtx); + } + const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx)); + ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate); + drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height); + this.compose(); + this.restore(); + } + paintInlineImageXObjectGroup(imgData, map) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + let imgToPaint; + if (imgData.bitmap) { + imgToPaint = imgData.bitmap; + } else { + const w = imgData.width; + const h = imgData.height; + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h); + const tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData); + imgToPaint = this.applyTransferMapsToCanvas(tmpCtx); + } + for (const entry of map) { + ctx.save(); + ctx.transform(...entry.transform); + ctx.scale(1, -1); + drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1); + ctx.restore(); + } + this.compose(); + } + paintSolidColorImageMask() { + if (!this.contentVisible) { + return; + } + this.ctx.fillRect(0, 0, 1, 1); + this.compose(); + } + markPoint(tag) {} + markPointProps(tag, properties) {} + beginMarkedContent(tag) { + this.markedContentStack.push({ + visible: true + }); + } + beginMarkedContentProps(tag, properties) { + if (tag === "OC") { + this.markedContentStack.push({ + visible: this.optionalContentConfig.isVisible(properties) + }); + } else { + this.markedContentStack.push({ + visible: true + }); + } + this.contentVisible = this.isContentVisible(); + } + endMarkedContent() { + this.markedContentStack.pop(); + this.contentVisible = this.isContentVisible(); + } + beginCompat() {} + endCompat() {} + consumePath(clipBox) { + const isEmpty = this.current.isEmptyClip(); + if (this.pendingClip) { + this.current.updateClipFromPath(); + } + if (!this.pendingClip) { + this.compose(clipBox); + } + const ctx = this.ctx; + if (this.pendingClip) { + if (!isEmpty) { + if (this.pendingClip === EO_CLIP) { + ctx.clip("evenodd"); + } else { + ctx.clip(); + } + } + this.pendingClip = null; + } + this.current.startNewPathAndClipBox(this.current.clipBox); + ctx.beginPath(); + } + getSinglePixelWidth() { + if (!this._cachedGetSinglePixelWidth) { + const m = (0, _display_utils.getCurrentTransform)(this.ctx); + if (m[1] === 0 && m[2] === 0) { + this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3])); + } else { + const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + const normX = Math.hypot(m[0], m[2]); + const normY = Math.hypot(m[1], m[3]); + this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet; + } + } + return this._cachedGetSinglePixelWidth; + } + getScaleForStroking() { + if (this._cachedScaleForStroking[0] === -1) { + const { + lineWidth + } = this.current; + const { + a, + b, + c, + d + } = this.ctx.getTransform(); + let scaleX, scaleY; + if (b === 0 && c === 0) { + const normX = Math.abs(a); + const normY = Math.abs(d); + if (normX === normY) { + if (lineWidth === 0) { + scaleX = scaleY = 1 / normX; + } else { + const scaledLineWidth = normX * lineWidth; + scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1; + } + } else if (lineWidth === 0) { + scaleX = 1 / normX; + scaleY = 1 / normY; + } else { + const scaledXLineWidth = normX * lineWidth; + const scaledYLineWidth = normY * lineWidth; + scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1; + scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1; + } + } else { + const absDet = Math.abs(a * d - b * c); + const normX = Math.hypot(a, b); + const normY = Math.hypot(c, d); + if (lineWidth === 0) { + scaleX = normY / absDet; + scaleY = normX / absDet; + } else { + const baseArea = lineWidth * absDet; + scaleX = normY > baseArea ? normY / baseArea : 1; + scaleY = normX > baseArea ? normX / baseArea : 1; + } + } + this._cachedScaleForStroking[0] = scaleX; + this._cachedScaleForStroking[1] = scaleY; + } + return this._cachedScaleForStroking; + } + rescaleAndStroke(saveRestore) { + const { + ctx + } = this; + const { + lineWidth + } = this.current; + const [scaleX, scaleY] = this.getScaleForStroking(); + ctx.lineWidth = lineWidth || 1; + if (scaleX === 1 && scaleY === 1) { + ctx.stroke(); + return; + } + const dashes = ctx.getLineDash(); + if (saveRestore) { + ctx.save(); + } + ctx.scale(scaleX, scaleY); + if (dashes.length > 0) { + const scale = Math.max(scaleX, scaleY); + ctx.setLineDash(dashes.map(x => x / scale)); + ctx.lineDashOffset /= scale; + } + ctx.stroke(); + if (saveRestore) { + ctx.restore(); + } + } + isContentVisible() { + for (let i = this.markedContentStack.length - 1; i >= 0; i--) { + if (!this.markedContentStack[i].visible) { + return false; + } + } + return true; + } +} +exports.CanvasGraphics = CanvasGraphics; +for (const op in _util.OPS) { + if (CanvasGraphics.prototype[op] !== undefined) { + CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; + } +} + +/***/ }), +/* 174 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TilingPattern = exports.PathType = void 0; +exports.getShadingPattern = getShadingPattern; +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +const PathType = { + FILL: "Fill", + STROKE: "Stroke", + SHADING: "Shading" +}; +exports.PathType = PathType; +function applyBoundingBox(ctx, bbox) { + if (!bbox) { + return; + } + const width = bbox[2] - bbox[0]; + const height = bbox[3] - bbox[1]; + const region = new Path2D(); + region.rect(bbox[0], bbox[1], width, height); + ctx.clip(region); +} +class BaseShadingPattern { + constructor() { + if (this.constructor === BaseShadingPattern) { + (0, _util.unreachable)("Cannot initialize BaseShadingPattern."); + } + } + getPattern() { + (0, _util.unreachable)("Abstract method `getPattern` called."); + } +} +class RadialAxialShadingPattern extends BaseShadingPattern { + constructor(IR) { + super(); + this._type = IR[1]; + this._bbox = IR[2]; + this._colorStops = IR[3]; + this._p0 = IR[4]; + this._p1 = IR[5]; + this._r0 = IR[6]; + this._r1 = IR[7]; + this.matrix = null; + } + _createGradient(ctx) { + let grad; + if (this._type === "axial") { + grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]); + } else if (this._type === "radial") { + grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1); + } + for (const colorStop of this._colorStops) { + grad.addColorStop(colorStop[0], colorStop[1]); + } + return grad; + } + getPattern(ctx, owner, inverse, pathType) { + let pattern; + if (pathType === PathType.STROKE || pathType === PathType.FILL) { + const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0]; + const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1; + const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1; + const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height, true); + const tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.beginPath(); + tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]); + inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]); + tmpCtx.transform(...owner.baseTransform); + if (this.matrix) { + tmpCtx.transform(...this.matrix); + } + applyBoundingBox(tmpCtx, this._bbox); + tmpCtx.fillStyle = this._createGradient(tmpCtx); + tmpCtx.fill(); + pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat"); + const domMatrix = new DOMMatrix(inverse); + pattern.setTransform(domMatrix); + } else { + applyBoundingBox(ctx, this._bbox); + pattern = this._createGradient(ctx); + } + return pattern; + } +} +function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { + const coords = context.coords, + colors = context.colors; + const bytes = data.data, + rowSize = data.width * 4; + let tmp; + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + if (coords[p2 + 1] > coords[p3 + 1]) { + tmp = p2; + p2 = p3; + p3 = tmp; + tmp = c2; + c2 = c3; + c3 = tmp; + } + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + const x1 = (coords[p1] + context.offsetX) * context.scaleX; + const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; + const x2 = (coords[p2] + context.offsetX) * context.scaleX; + const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; + const x3 = (coords[p3] + context.offsetX) * context.scaleX; + const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; + if (y1 >= y3) { + return; + } + const c1r = colors[c1], + c1g = colors[c1 + 1], + c1b = colors[c1 + 2]; + const c2r = colors[c2], + c2g = colors[c2 + 1], + c2b = colors[c2 + 2]; + const c3r = colors[c3], + c3g = colors[c3 + 1], + c3b = colors[c3 + 2]; + const minY = Math.round(y1), + maxY = Math.round(y3); + let xa, car, cag, cab; + let xb, cbr, cbg, cbb; + for (let y = minY; y <= maxY; y++) { + if (y < y2) { + const k = y < y1 ? 0 : (y1 - y) / (y1 - y2); + xa = x1 - (x1 - x2) * k; + car = c1r - (c1r - c2r) * k; + cag = c1g - (c1g - c2g) * k; + cab = c1b - (c1b - c2b) * k; + } else { + let k; + if (y > y3) { + k = 1; + } else if (y2 === y3) { + k = 0; + } else { + k = (y2 - y) / (y2 - y3); + } + xa = x2 - (x2 - x3) * k; + car = c2r - (c2r - c3r) * k; + cag = c2g - (c2g - c3g) * k; + cab = c2b - (c2b - c3b) * k; + } + let k; + if (y < y1) { + k = 0; + } else if (y > y3) { + k = 1; + } else { + k = (y1 - y) / (y1 - y3); + } + xb = x1 - (x1 - x3) * k; + cbr = c1r - (c1r - c3r) * k; + cbg = c1g - (c1g - c3g) * k; + cbb = c1b - (c1b - c3b) * k; + const x1_ = Math.round(Math.min(xa, xb)); + const x2_ = Math.round(Math.max(xa, xb)); + let j = rowSize * y + x1_ * 4; + for (let x = x1_; x <= x2_; x++) { + k = (xa - x) / (xa - xb); + if (k < 0) { + k = 0; + } else if (k > 1) { + k = 1; + } + bytes[j++] = car - (car - cbr) * k | 0; + bytes[j++] = cag - (cag - cbg) * k | 0; + bytes[j++] = cab - (cab - cbb) * k | 0; + bytes[j++] = 255; + } + } +} +function drawFigure(data, figure, context) { + const ps = figure.coords; + const cs = figure.colors; + let i, ii; + switch (figure.type) { + case "lattice": + const verticesPerRow = figure.verticesPerRow; + const rows = Math.floor(ps.length / verticesPerRow) - 1; + const cols = verticesPerRow - 1; + for (i = 0; i < rows; i++) { + let q = i * verticesPerRow; + for (let j = 0; j < cols; j++, q++) { + drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); + drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); + } + } + break; + case "triangles": + for (i = 0, ii = ps.length; i < ii; i += 3) { + drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); + } + break; + default: + throw new Error("illegal figure"); + } +} +class MeshShadingPattern extends BaseShadingPattern { + constructor(IR) { + super(); + this._coords = IR[2]; + this._colors = IR[3]; + this._figures = IR[4]; + this._bounds = IR[5]; + this._bbox = IR[7]; + this._background = IR[8]; + this.matrix = null; + } + _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) { + const EXPECTED_SCALE = 1.1; + const MAX_PATTERN_SIZE = 3000; + const BORDER_SIZE = 2; + const offsetX = Math.floor(this._bounds[0]); + const offsetY = Math.floor(this._bounds[1]); + const boundsWidth = Math.ceil(this._bounds[2]) - offsetX; + const boundsHeight = Math.ceil(this._bounds[3]) - offsetY; + const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + const scaleX = boundsWidth / width; + const scaleY = boundsHeight / height; + const context = { + coords: this._coords, + colors: this._colors, + offsetX: -offsetX, + offsetY: -offsetY, + scaleX: 1 / scaleX, + scaleY: 1 / scaleY + }; + const paddedWidth = width + BORDER_SIZE * 2; + const paddedHeight = height + BORDER_SIZE * 2; + const tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); + const tmpCtx = tmpCanvas.context; + const data = tmpCtx.createImageData(width, height); + if (backgroundColor) { + const bytes = data.data; + for (let i = 0, ii = bytes.length; i < ii; i += 4) { + bytes[i] = backgroundColor[0]; + bytes[i + 1] = backgroundColor[1]; + bytes[i + 2] = backgroundColor[2]; + bytes[i + 3] = 255; + } + } + for (const figure of this._figures) { + drawFigure(data, figure, context); + } + tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); + const canvas = tmpCanvas.canvas; + return { + canvas, + offsetX: offsetX - BORDER_SIZE * scaleX, + offsetY: offsetY - BORDER_SIZE * scaleY, + scaleX, + scaleY + }; + } + getPattern(ctx, owner, inverse, pathType) { + applyBoundingBox(ctx, this._bbox); + let scale; + if (pathType === PathType.SHADING) { + scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx)); + } else { + scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); + if (this.matrix) { + const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; + } + } + const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases); + if (pathType !== PathType.SHADING) { + ctx.setTransform(...owner.baseTransform); + if (this.matrix) { + ctx.transform(...this.matrix); + } + } + ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); + return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); + } +} +class DummyShadingPattern extends BaseShadingPattern { + getPattern() { + return "hotpink"; + } +} +function getShadingPattern(IR) { + switch (IR[0]) { + case "RadialAxial": + return new RadialAxialShadingPattern(IR); + case "Mesh": + return new MeshShadingPattern(IR); + case "Dummy": + return new DummyShadingPattern(); + } + throw new Error(`Unknown IR type: ${IR[0]}`); +} +const PaintType = { + COLORED: 1, + UNCOLORED: 2 +}; +class TilingPattern { + static MAX_PATTERN_SIZE = 3000; + constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) { + this.operatorList = IR[2]; + this.matrix = IR[3] || [1, 0, 0, 1, 0, 0]; + this.bbox = IR[4]; + this.xstep = IR[5]; + this.ystep = IR[6]; + this.paintType = IR[7]; + this.tilingType = IR[8]; + this.color = color; + this.ctx = ctx; + this.canvasGraphicsFactory = canvasGraphicsFactory; + this.baseTransform = baseTransform; + } + createPatternCanvas(owner) { + const operatorList = this.operatorList; + const bbox = this.bbox; + const xstep = this.xstep; + const ystep = this.ystep; + const paintType = this.paintType; + const tilingType = this.tilingType; + const color = this.color; + const canvasGraphicsFactory = this.canvasGraphicsFactory; + (0, _util.info)("TilingType: " + tilingType); + const x0 = bbox[0], + y0 = bbox[1], + x1 = bbox[2], + y1 = bbox[3]; + const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform); + const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]]; + const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]); + const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]); + const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true); + const tmpCtx = tmpCanvas.context; + const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx); + graphics.groupLevel = owner.groupLevel; + this.setFillAndStrokeStyleToContext(graphics, paintType, color); + let adjustedX0 = x0; + let adjustedY0 = y0; + let adjustedX1 = x1; + let adjustedY1 = y1; + if (x0 < 0) { + adjustedX0 = 0; + adjustedX1 += Math.abs(x0); + } + if (y0 < 0) { + adjustedY0 = 0; + adjustedY1 += Math.abs(y0); + } + tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0)); + graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0); + tmpCtx.save(); + this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1); + graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx); + graphics.executeOperatorList(operatorList); + graphics.endDrawing(); + return { + canvas: tmpCanvas.canvas, + scaleX: dimx.scale, + scaleY: dimy.scale, + offsetX: adjustedX0, + offsetY: adjustedY0 + }; + } + getSizeAndScale(step, realOutputSize, scale) { + step = Math.abs(step); + const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); + let size = Math.ceil(step * scale); + if (size >= maxSize) { + size = maxSize; + } else { + scale = size / step; + } + return { + scale, + size + }; + } + clipBbox(graphics, x0, y0, x1, y1) { + const bboxWidth = x1 - x0; + const bboxHeight = y1 - y0; + graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); + graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]); + graphics.clip(); + graphics.endPath(); + } + setFillAndStrokeStyleToContext(graphics, paintType, color) { + const context = graphics.ctx, + current = graphics.current; + switch (paintType) { + case PaintType.COLORED: + const ctx = this.ctx; + context.fillStyle = ctx.fillStyle; + context.strokeStyle = ctx.strokeStyle; + current.fillColor = ctx.fillStyle; + current.strokeColor = ctx.strokeStyle; + break; + case PaintType.UNCOLORED: + const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]); + context.fillStyle = cssColor; + context.strokeStyle = cssColor; + current.fillColor = cssColor; + current.strokeColor = cssColor; + break; + default: + throw new _util.FormatError(`Unsupported paint type: ${paintType}`); + } + } + getPattern(ctx, owner, inverse, pathType) { + let matrix = inverse; + if (pathType !== PathType.SHADING) { + matrix = _util.Util.transform(matrix, owner.baseTransform); + if (this.matrix) { + matrix = _util.Util.transform(matrix, this.matrix); + } + } + const temporaryPatternCanvas = this.createPatternCanvas(owner); + let domMatrix = new DOMMatrix(matrix); + domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY); + const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat"); + pattern.setTransform(domMatrix); + return pattern; + } +} +exports.TilingPattern = TilingPattern; + +/***/ }), +/* 175 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA; +exports.convertToRGBA = convertToRGBA; +exports.grayToRGBA = grayToRGBA; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +var _util = __w_pdfjs_require__(1); +function convertToRGBA(params) { + switch (params.kind) { + case _util.ImageKind.GRAYSCALE_1BPP: + return convertBlackAndWhiteToRGBA(params); + case _util.ImageKind.RGB_24BPP: + return convertRGBToRGBA(params); + } + return null; +} +function convertBlackAndWhiteToRGBA(_ref) { + let { + src, + srcPos = 0, + dest, + width, + height, + nonBlackColor = 0xffffffff, + inverseDecode = false + } = _ref; + const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; + const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor]; + const widthInSource = width >> 3; + const widthRemainder = width & 7; + const srcLength = src.length; + dest = new Uint32Array(dest.buffer); + let destPos = 0; + for (let i = 0; i < height; i++) { + for (const max = srcPos + widthInSource; srcPos < max; srcPos++) { + const elem = srcPos < srcLength ? src[srcPos] : 255; + dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping; + } + if (widthRemainder === 0) { + continue; + } + const elem = srcPos < srcLength ? src[srcPos++] : 255; + for (let j = 0; j < widthRemainder; j++) { + dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping; + } + } + return { + srcPos, + destPos + }; +} +function convertRGBToRGBA(_ref2) { + let { + src, + srcPos = 0, + dest, + destPos = 0, + width, + height + } = _ref2; + let i = 0; + const len32 = src.length >> 2; + const src32 = new Uint32Array(src.buffer, srcPos, len32); + if (_util.FeatureTest.isLittleEndian) { + for (; i < len32 - 2; i += 3, destPos += 4) { + const s1 = src32[i]; + const s2 = src32[i + 1]; + const s3 = src32[i + 2]; + dest[destPos] = s1 | 0xff000000; + dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000; + dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000; + dest[destPos + 3] = s3 >>> 8 | 0xff000000; + } + for (let j = i * 4, jj = src.length; j < jj; j += 3) { + dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000; + } + } else { + for (; i < len32 - 2; i += 3, destPos += 4) { + const s1 = src32[i]; + const s2 = src32[i + 1]; + const s3 = src32[i + 2]; + dest[destPos] = s1 | 0xff; + dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff; + dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff; + dest[destPos + 3] = s3 << 8 | 0xff; + } + for (let j = i * 4, jj = src.length; j < jj; j += 3) { + dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff; + } + } + return { + srcPos, + destPos + }; +} +function grayToRGBA(src, dest) { + if (_util.FeatureTest.isLittleEndian) { + for (let i = 0, ii = src.length; i < ii; i++) { + dest[i] = src[i] * 0x10101 | 0xff000000; + } + } else { + for (let i = 0, ii = src.length; i < ii; i++) { + dest[i] = src[i] * 0x1010100 | 0x000000ff; + } + } +} + +/***/ }), +/* 176 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GlobalWorkerOptions = void 0; +const GlobalWorkerOptions = Object.create(null); +exports.GlobalWorkerOptions = GlobalWorkerOptions; +GlobalWorkerOptions.workerPort = null; +GlobalWorkerOptions.workerSrc = ""; + +/***/ }), +/* 177 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MessageHandler = void 0; +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +const CallbackKind = { + UNKNOWN: 0, + DATA: 1, + ERROR: 2 +}; +const StreamKind = { + UNKNOWN: 0, + CANCEL: 1, + CANCEL_COMPLETE: 2, + CLOSE: 3, + ENQUEUE: 4, + ERROR: 5, + PULL: 6, + PULL_COMPLETE: 7, + START_COMPLETE: 8 +}; +function wrapReason(reason) { + if (!(reason instanceof Error || typeof reason === "object" && reason !== null)) { + (0, _util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'); + } + switch (reason.name) { + case "AbortException": + return new _util.AbortException(reason.message); + case "MissingPDFException": + return new _util.MissingPDFException(reason.message); + case "PasswordException": + return new _util.PasswordException(reason.message, reason.code); + case "UnexpectedResponseException": + return new _util.UnexpectedResponseException(reason.message, reason.status); + case "UnknownErrorException": + return new _util.UnknownErrorException(reason.message, reason.details); + default: + return new _util.UnknownErrorException(reason.message, reason.toString()); + } +} +class MessageHandler { + constructor(sourceName, targetName, comObj) { + this.sourceName = sourceName; + this.targetName = targetName; + this.comObj = comObj; + this.callbackId = 1; + this.streamId = 1; + this.streamSinks = Object.create(null); + this.streamControllers = Object.create(null); + this.callbackCapabilities = Object.create(null); + this.actionHandler = Object.create(null); + this._onComObjOnMessage = event => { + const data = event.data; + if (data.targetName !== this.sourceName) { + return; + } + if (data.stream) { + this.#processStreamMessage(data); + return; + } + if (data.callback) { + const callbackId = data.callbackId; + const capability = this.callbackCapabilities[callbackId]; + if (!capability) { + throw new Error(`Cannot resolve callback ${callbackId}`); + } + delete this.callbackCapabilities[callbackId]; + if (data.callback === CallbackKind.DATA) { + capability.resolve(data.data); + } else if (data.callback === CallbackKind.ERROR) { + capability.reject(wrapReason(data.reason)); + } else { + throw new Error("Unexpected callback case"); + } + return; + } + const action = this.actionHandler[data.action]; + if (!action) { + throw new Error(`Unknown action from worker: ${data.action}`); + } + if (data.callbackId) { + const cbSourceName = this.sourceName; + const cbTargetName = data.sourceName; + new Promise(function (resolve) { + resolve(action(data.data)); + }).then(function (result) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.DATA, + callbackId: data.callbackId, + data: result + }); + }, function (reason) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.ERROR, + callbackId: data.callbackId, + reason: wrapReason(reason) + }); + }); + return; + } + if (data.streamId) { + this.#createStreamSink(data); + return; + } + action(data.data); + }; + comObj.addEventListener("message", this._onComObjOnMessage); + } + on(actionName, handler) { + const ah = this.actionHandler; + if (ah[actionName]) { + throw new Error(`There is already an actionName called "${actionName}"`); + } + ah[actionName] = handler; + } + send(actionName, data, transfers) { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data + }, transfers); + } + sendWithPromise(actionName, data, transfers) { + const callbackId = this.callbackId++; + const capability = new _util.PromiseCapability(); + this.callbackCapabilities[callbackId] = capability; + try { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + callbackId, + data + }, transfers); + } catch (ex) { + capability.reject(ex); + } + return capability.promise; + } + sendWithStream(actionName, data, queueingStrategy, transfers) { + const streamId = this.streamId++, + sourceName = this.sourceName, + targetName = this.targetName, + comObj = this.comObj; + return new ReadableStream({ + start: controller => { + const startCapability = new _util.PromiseCapability(); + this.streamControllers[streamId] = { + controller, + startCall: startCapability, + pullCall: null, + cancelCall: null, + isClosed: false + }; + comObj.postMessage({ + sourceName, + targetName, + action: actionName, + streamId, + data, + desiredSize: controller.desiredSize + }, transfers); + return startCapability.promise; + }, + pull: controller => { + const pullCapability = new _util.PromiseCapability(); + this.streamControllers[streamId].pullCall = pullCapability; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL, + streamId, + desiredSize: controller.desiredSize + }); + return pullCapability.promise; + }, + cancel: reason => { + (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason"); + const cancelCapability = new _util.PromiseCapability(); + this.streamControllers[streamId].cancelCall = cancelCapability; + this.streamControllers[streamId].isClosed = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL, + streamId, + reason: wrapReason(reason) + }); + return cancelCapability.promise; + } + }, queueingStrategy); + } + #createStreamSink(data) { + const streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + const self = this, + action = this.actionHandler[data.action]; + const streamSink = { + enqueue(chunk) { + let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + let transfers = arguments.length > 2 ? arguments[2] : undefined; + if (this.isCancelled) { + return; + } + const lastDesiredSize = this.desiredSize; + this.desiredSize -= size; + if (lastDesiredSize > 0 && this.desiredSize <= 0) { + this.sinkCapability = new _util.PromiseCapability(); + this.ready = this.sinkCapability.promise; + } + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.ENQUEUE, + streamId, + chunk + }, transfers); + }, + close() { + if (this.isCancelled) { + return; + } + this.isCancelled = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CLOSE, + streamId + }); + delete self.streamSinks[streamId]; + }, + error(reason) { + (0, _util.assert)(reason instanceof Error, "error must have a valid reason"); + if (this.isCancelled) { + return; + } + this.isCancelled = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.ERROR, + streamId, + reason: wrapReason(reason) + }); + }, + sinkCapability: new _util.PromiseCapability(), + onPull: null, + onCancel: null, + isCancelled: false, + desiredSize: data.desiredSize, + ready: null + }; + streamSink.sinkCapability.resolve(); + streamSink.ready = streamSink.sinkCapability.promise; + this.streamSinks[streamId] = streamSink; + new Promise(function (resolve) { + resolve(action(data.data, streamSink)); + }).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.START_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.START_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + } + #processStreamMessage(data) { + const streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + const streamController = this.streamControllers[streamId], + streamSink = this.streamSinks[streamId]; + switch (data.stream) { + case StreamKind.START_COMPLETE: + if (data.success) { + streamController.startCall.resolve(); + } else { + streamController.startCall.reject(wrapReason(data.reason)); + } + break; + case StreamKind.PULL_COMPLETE: + if (data.success) { + streamController.pullCall.resolve(); + } else { + streamController.pullCall.reject(wrapReason(data.reason)); + } + break; + case StreamKind.PULL: + if (!streamSink) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + success: true + }); + break; + } + if (streamSink.desiredSize <= 0 && data.desiredSize > 0) { + streamSink.sinkCapability.resolve(); + } + streamSink.desiredSize = data.desiredSize; + new Promise(function (resolve) { + resolve(streamSink.onPull?.()); + }).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + break; + case StreamKind.ENQUEUE: + (0, _util.assert)(streamController, "enqueue should have stream controller"); + if (streamController.isClosed) { + break; + } + streamController.controller.enqueue(data.chunk); + break; + case StreamKind.CLOSE: + (0, _util.assert)(streamController, "close should have stream controller"); + if (streamController.isClosed) { + break; + } + streamController.isClosed = true; + streamController.controller.close(); + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.ERROR: + (0, _util.assert)(streamController, "error should have stream controller"); + streamController.controller.error(wrapReason(data.reason)); + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.CANCEL_COMPLETE: + if (data.success) { + streamController.cancelCall.resolve(); + } else { + streamController.cancelCall.reject(wrapReason(data.reason)); + } + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.CANCEL: + if (!streamSink) { + break; + } + new Promise(function (resolve) { + resolve(streamSink.onCancel?.(wrapReason(data.reason))); + }).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + streamSink.sinkCapability.reject(wrapReason(data.reason)); + streamSink.isCancelled = true; + delete this.streamSinks[streamId]; + break; + default: + throw new Error("Unexpected stream case"); + } + } + async #deleteStreamController(streamController, streamId) { + await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]); + delete this.streamControllers[streamId]; + } + destroy() { + this.comObj.removeEventListener("message", this._onComObjOnMessage); + } +} +exports.MessageHandler = MessageHandler; + +/***/ }), +/* 178 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Metadata = void 0; +var _util = __w_pdfjs_require__(1); +class Metadata { + #metadataMap; + #data; + constructor(_ref) { + let { + parsedData, + rawData + } = _ref; + this.#metadataMap = parsedData; + this.#data = rawData; + } + getRaw() { + return this.#data; + } + get(name) { + return this.#metadataMap.get(name) ?? null; + } + getAll() { + return (0, _util.objectFromMap)(this.#metadataMap); + } + has(name) { + return this.#metadataMap.has(name); + } +} +exports.Metadata = Metadata; + +/***/ }), +/* 179 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OptionalContentConfig = void 0; +var _util = __w_pdfjs_require__(1); +var _murmurhash = __w_pdfjs_require__(170); +const INTERNAL = Symbol("INTERNAL"); +class OptionalContentGroup { + #visible = true; + constructor(name, intent) { + this.name = name; + this.intent = intent; + } + get visible() { + return this.#visible; + } + _setVisible(internal, visible) { + if (internal !== INTERNAL) { + (0, _util.unreachable)("Internal method `_setVisible` called."); + } + this.#visible = visible; + } +} +class OptionalContentConfig { + #cachedGetHash = null; + #groups = new Map(); + #initialHash = null; + #order = null; + constructor(data) { + this.name = null; + this.creator = null; + if (data === null) { + return; + } + this.name = data.name; + this.creator = data.creator; + this.#order = data.order; + for (const group of data.groups) { + this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent)); + } + if (data.baseState === "OFF") { + for (const group of this.#groups.values()) { + group._setVisible(INTERNAL, false); + } + } + for (const on of data.on) { + this.#groups.get(on)._setVisible(INTERNAL, true); + } + for (const off of data.off) { + this.#groups.get(off)._setVisible(INTERNAL, false); + } + this.#initialHash = this.getHash(); + } + #evaluateVisibilityExpression(array) { + const length = array.length; + if (length < 2) { + return true; + } + const operator = array[0]; + for (let i = 1; i < length; i++) { + const element = array[i]; + let state; + if (Array.isArray(element)) { + state = this.#evaluateVisibilityExpression(element); + } else if (this.#groups.has(element)) { + state = this.#groups.get(element).visible; + } else { + (0, _util.warn)(`Optional content group not found: ${element}`); + return true; + } + switch (operator) { + case "And": + if (!state) { + return false; + } + break; + case "Or": + if (state) { + return true; + } + break; + case "Not": + return !state; + default: + return true; + } + } + return operator === "And"; + } + isVisible(group) { + if (this.#groups.size === 0) { + return true; + } + if (!group) { + (0, _util.warn)("Optional content group not defined."); + return true; + } + if (group.type === "OCG") { + if (!this.#groups.has(group.id)) { + (0, _util.warn)(`Optional content group not found: ${group.id}`); + return true; + } + return this.#groups.get(group.id).visible; + } else if (group.type === "OCMD") { + if (group.expression) { + return this.#evaluateVisibilityExpression(group.expression); + } + if (!group.policy || group.policy === "AnyOn") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return true; + } + if (this.#groups.get(id).visible) { + return true; + } + } + return false; + } else if (group.policy === "AllOn") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return true; + } + if (!this.#groups.get(id).visible) { + return false; + } + } + return true; + } else if (group.policy === "AnyOff") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return true; + } + if (!this.#groups.get(id).visible) { + return true; + } + } + return false; + } else if (group.policy === "AllOff") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return true; + } + if (this.#groups.get(id).visible) { + return false; + } + } + return true; + } + (0, _util.warn)(`Unknown optional content policy ${group.policy}.`); + return true; + } + (0, _util.warn)(`Unknown group type ${group.type}.`); + return true; + } + setVisibility(id) { + let visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return; + } + this.#groups.get(id)._setVisible(INTERNAL, !!visible); + this.#cachedGetHash = null; + } + get hasInitialVisibility() { + return this.#initialHash === null || this.getHash() === this.#initialHash; + } + getOrder() { + if (!this.#groups.size) { + return null; + } + if (this.#order) { + return this.#order.slice(); + } + return [...this.#groups.keys()]; + } + getGroups() { + return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null; + } + getGroup(id) { + return this.#groups.get(id) || null; + } + getHash() { + if (this.#cachedGetHash !== null) { + return this.#cachedGetHash; + } + const hash = new _murmurhash.MurmurHash3_64(); + for (const [id, group] of this.#groups) { + hash.update(`${id}:${group.visible}`); + } + return this.#cachedGetHash = hash.hexdigest(); + } +} +exports.OptionalContentConfig = OptionalContentConfig; + +/***/ }), +/* 180 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDataTransportStream = void 0; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +class PDFDataTransportStream { + constructor(_ref, pdfDataRangeTransport) { + let { + length, + initialData, + progressiveDone = false, + contentDispositionFilename = null, + disableRange = false, + disableStream = false + } = _ref; + (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'); + this._queuedChunks = []; + this._progressiveDone = progressiveDone; + this._contentDispositionFilename = contentDispositionFilename; + if (initialData?.length > 0) { + const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer; + this._queuedChunks.push(buffer); + } + this._pdfDataRangeTransport = pdfDataRangeTransport; + this._isStreamingSupported = !disableStream; + this._isRangeSupported = !disableRange; + this._contentLength = length; + this._fullRequestReader = null; + this._rangeReaders = []; + this._pdfDataRangeTransport.addRangeListener((begin, chunk) => { + this._onReceiveData({ + begin, + chunk + }); + }); + this._pdfDataRangeTransport.addProgressListener((loaded, total) => { + this._onProgress({ + loaded, + total + }); + }); + this._pdfDataRangeTransport.addProgressiveReadListener(chunk => { + this._onReceiveData({ + chunk + }); + }); + this._pdfDataRangeTransport.addProgressiveDoneListener(() => { + this._onProgressiveDone(); + }); + this._pdfDataRangeTransport.transportReady(); + } + _onReceiveData(_ref2) { + let { + begin, + chunk + } = _ref2; + const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer; + if (begin === undefined) { + if (this._fullRequestReader) { + this._fullRequestReader._enqueue(buffer); + } else { + this._queuedChunks.push(buffer); + } + } else { + const found = this._rangeReaders.some(function (rangeReader) { + if (rangeReader._begin !== begin) { + return false; + } + rangeReader._enqueue(buffer); + return true; + }); + (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."); + } + } + get _progressiveDataLength() { + return this._fullRequestReader?._loaded ?? 0; + } + _onProgress(evt) { + if (evt.total === undefined) { + this._rangeReaders[0]?.onProgress?.({ + loaded: evt.loaded + }); + } else { + this._fullRequestReader?.onProgress?.({ + loaded: evt.loaded, + total: evt.total + }); + } + } + _onProgressiveDone() { + this._fullRequestReader?.progressiveDone(); + this._progressiveDone = true; + } + _removeRangeReader(reader) { + const i = this._rangeReaders.indexOf(reader); + if (i >= 0) { + this._rangeReaders.splice(i, 1); + } + } + getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once."); + const queuedChunks = this._queuedChunks; + this._queuedChunks = null; + return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename); + } + getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + const reader = new PDFDataTransportStreamRangeReader(this, begin, end); + this._pdfDataRangeTransport.requestDataRange(begin, end); + this._rangeReaders.push(reader); + return reader; + } + cancelAllRequests(reason) { + this._fullRequestReader?.cancel(reason); + for (const reader of this._rangeReaders.slice(0)) { + reader.cancel(reason); + } + this._pdfDataRangeTransport.abort(); + } +} +exports.PDFDataTransportStream = PDFDataTransportStream; +class PDFDataTransportStreamReader { + constructor(stream, queuedChunks) { + let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + this._stream = stream; + this._done = progressiveDone || false; + this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null; + this._queuedChunks = queuedChunks || []; + this._loaded = 0; + for (const chunk of this._queuedChunks) { + this._loaded += chunk.byteLength; + } + this._requests = []; + this._headersReady = Promise.resolve(); + stream._fullRequestReader = this; + this.onProgress = null; + } + _enqueue(chunk) { + if (this._done) { + return; + } + if (this._requests.length > 0) { + const requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunks.push(chunk); + } + this._loaded += chunk.byteLength; + } + get headersReady() { + return this._headersReady; + } + get filename() { + return this._filename; + } + get isRangeSupported() { + return this._stream._isRangeSupported; + } + get isStreamingSupported() { + return this._stream._isStreamingSupported; + } + get contentLength() { + return this._stream._contentLength; + } + async read() { + if (this._queuedChunks.length > 0) { + const chunk = this._queuedChunks.shift(); + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const requestCapability = new _util.PromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + } + cancel(reason) { + this._done = true; + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + } + progressiveDone() { + if (this._done) { + return; + } + this._done = true; + } +} +class PDFDataTransportStreamRangeReader { + constructor(stream, begin, end) { + this._stream = stream; + this._begin = begin; + this._end = end; + this._queuedChunk = null; + this._requests = []; + this._done = false; + this.onProgress = null; + } + _enqueue(chunk) { + if (this._done) { + return; + } + if (this._requests.length === 0) { + this._queuedChunk = chunk; + } else { + const requestsCapability = this._requests.shift(); + requestsCapability.resolve({ + value: chunk, + done: false + }); + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + } + this._done = true; + this._stream._removeRangeReader(this); + } + get isStreamingSupported() { + return false; + } + async read() { + if (this._queuedChunk) { + const chunk = this._queuedChunk; + this._queuedChunk = null; + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const requestCapability = new _util.PromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + } + cancel(reason) { + this._done = true; + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + this._stream._removeRangeReader(this); + } +} + +/***/ }), +/* 181 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFetchStream = void 0; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _network_utils = __w_pdfjs_require__(182); +; +function createFetchOptions(headers, withCredentials, abortController) { + return { + method: "GET", + headers, + signal: abortController.signal, + mode: "cors", + credentials: withCredentials ? "include" : "same-origin", + redirect: "follow" + }; +} +function createHeaders(httpHeaders) { + const headers = new Headers(); + for (const property in httpHeaders) { + const value = httpHeaders[property]; + if (value === undefined) { + continue; + } + headers.append(property, value); + } + return headers; +} +function getArrayBuffer(val) { + if (val instanceof Uint8Array) { + return val.buffer; + } + if (val instanceof ArrayBuffer) { + return val; + } + (0, _util.warn)(`getArrayBuffer - unexpected data format: ${val}`); + return new Uint8Array(val).buffer; +} +class PDFFetchStream { + constructor(source) { + this.source = source; + this.isHttp = /^https?:/i.test(source.url); + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + get _progressiveDataLength() { + return this._fullRequestReader?._loaded ?? 0; + } + getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFFetchStreamReader(this); + return this._fullRequestReader; + } + getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + const reader = new PDFFetchStreamRangeReader(this, begin, end); + this._rangeRequestReaders.push(reader); + return reader; + } + cancelAllRequests(reason) { + this._fullRequestReader?.cancel(reason); + for (const reader of this._rangeRequestReaders.slice(0)) { + reader.cancel(reason); + } + } +} +exports.PDFFetchStream = PDFFetchStream; +class PDFFetchStreamReader { + constructor(stream) { + this._stream = stream; + this._reader = null; + this._loaded = 0; + this._filename = null; + const source = stream.source; + this._withCredentials = source.withCredentials || false; + this._contentLength = source.length; + this._headersCapability = new _util.PromiseCapability(); + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + this._abortController = new AbortController(); + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._headers = createHeaders(this._stream.httpHeaders); + const url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + this._reader = response.body.getReader(); + this._headersCapability.resolve(); + const getResponseHeader = name => { + return response.headers.get(name); + }; + const { + allowRangeRequests, + suggestedLength + } = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader, + isHttp: this._stream.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }); + this._isRangeSupported = allowRangeRequests; + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + if (!this._isStreamingSupported && this._isRangeSupported) { + this.cancel(new _util.AbortException("Streaming is disabled.")); + } + }).catch(this._headersCapability.reject); + this.onProgress = null; + } + get headersReady() { + return this._headersCapability.promise; + } + get filename() { + return this._filename; + } + get contentLength() { + return this._contentLength; + } + get isRangeSupported() { + return this._isRangeSupported; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + await this._headersCapability.promise; + const { + value, + done + } = await this._reader.read(); + if (done) { + return { + value, + done + }; + } + this._loaded += value.byteLength; + this.onProgress?.({ + loaded: this._loaded, + total: this._contentLength + }); + return { + value: getArrayBuffer(value), + done: false + }; + } + cancel(reason) { + this._reader?.cancel(reason); + this._abortController.abort(); + } +} +class PDFFetchStreamRangeReader { + constructor(stream, begin, end) { + this._stream = stream; + this._reader = null; + this._loaded = 0; + const source = stream.source; + this._withCredentials = source.withCredentials || false; + this._readCapability = new _util.PromiseCapability(); + this._isStreamingSupported = !source.disableStream; + this._abortController = new AbortController(); + this._headers = createHeaders(this._stream.httpHeaders); + this._headers.append("Range", `bytes=${begin}-${end - 1}`); + const url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + this._readCapability.resolve(); + this._reader = response.body.getReader(); + }).catch(this._readCapability.reject); + this.onProgress = null; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + await this._readCapability.promise; + const { + value, + done + } = await this._reader.read(); + if (done) { + return { + value, + done + }; + } + this._loaded += value.byteLength; + this.onProgress?.({ + loaded: this._loaded + }); + return { + value: getArrayBuffer(value), + done: false + }; + } + cancel(reason) { + this._reader?.cancel(reason); + this._abortController.abort(); + } +} + +/***/ }), +/* 182 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createResponseStatusError = createResponseStatusError; +exports.extractFilenameFromHeader = extractFilenameFromHeader; +exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities; +exports.validateResponseStatus = validateResponseStatus; +var _util = __w_pdfjs_require__(1); +var _content_disposition = __w_pdfjs_require__(183); +var _display_utils = __w_pdfjs_require__(168); +function validateRangeRequestCapabilities(_ref) { + let { + getResponseHeader, + isHttp, + rangeChunkSize, + disableRange + } = _ref; + const returnValues = { + allowRangeRequests: false, + suggestedLength: undefined + }; + const length = parseInt(getResponseHeader("Content-Length"), 10); + if (!Number.isInteger(length)) { + return returnValues; + } + returnValues.suggestedLength = length; + if (length <= 2 * rangeChunkSize) { + return returnValues; + } + if (disableRange || !isHttp) { + return returnValues; + } + if (getResponseHeader("Accept-Ranges") !== "bytes") { + return returnValues; + } + const contentEncoding = getResponseHeader("Content-Encoding") || "identity"; + if (contentEncoding !== "identity") { + return returnValues; + } + returnValues.allowRangeRequests = true; + return returnValues; +} +function extractFilenameFromHeader(getResponseHeader) { + const contentDisposition = getResponseHeader("Content-Disposition"); + if (contentDisposition) { + let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition); + if (filename.includes("%")) { + try { + filename = decodeURIComponent(filename); + } catch {} + } + if ((0, _display_utils.isPdfFile)(filename)) { + return filename; + } + } + return null; +} +function createResponseStatusError(status, url) { + if (status === 404 || status === 0 && url.startsWith("file:")) { + return new _util.MissingPDFException('Missing PDF "' + url + '".'); + } + return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF "${url}".`, status); +} +function validateResponseStatus(status) { + return status === 200 || status === 206; +} + +/***/ }), +/* 183 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader; +__w_pdfjs_require__(89); +__w_pdfjs_require__(149); +var _util = __w_pdfjs_require__(1); +function getFilenameFromContentDispositionHeader(contentDisposition) { + let needsEncodingFixup = true; + let tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition); + if (tmp) { + tmp = tmp[1]; + let filename = rfc2616unquote(tmp); + filename = unescape(filename); + filename = rfc5987decode(filename); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + tmp = rfc2231getparam(contentDisposition); + if (tmp) { + const filename = rfc2047decode(tmp); + return fixupEncoding(filename); + } + tmp = toParamRegExp("filename", "i").exec(contentDisposition); + if (tmp) { + tmp = tmp[1]; + let filename = rfc2616unquote(tmp); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + function toParamRegExp(attributePattern, flags) { + return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags); + } + function textdecode(encoding, value) { + if (encoding) { + if (!/^[\x00-\xFF]+$/.test(value)) { + return value; + } + try { + const decoder = new TextDecoder(encoding, { + fatal: true + }); + const buffer = (0, _util.stringToBytes)(value); + value = decoder.decode(buffer); + needsEncodingFixup = false; + } catch {} + } + return value; + } + function fixupEncoding(value) { + if (needsEncodingFixup && /[\x80-\xff]/.test(value)) { + value = textdecode("utf-8", value); + if (needsEncodingFixup) { + value = textdecode("iso-8859-1", value); + } + } + return value; + } + function rfc2231getparam(contentDispositionStr) { + const matches = []; + let match; + const iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); + while ((match = iter.exec(contentDispositionStr)) !== null) { + let [, n, quot, part] = match; + n = parseInt(n, 10); + if (n in matches) { + if (n === 0) { + break; + } + continue; + } + matches[n] = [quot, part]; + } + const parts = []; + for (let n = 0; n < matches.length; ++n) { + if (!(n in matches)) { + break; + } + let [quot, part] = matches[n]; + part = rfc2616unquote(part); + if (quot) { + part = unescape(part); + if (n === 0) { + part = rfc5987decode(part); + } + } + parts.push(part); + } + return parts.join(""); + } + function rfc2616unquote(value) { + if (value.startsWith('"')) { + const parts = value.slice(1).split('\\"'); + for (let i = 0; i < parts.length; ++i) { + const quotindex = parts[i].indexOf('"'); + if (quotindex !== -1) { + parts[i] = parts[i].slice(0, quotindex); + parts.length = i + 1; + } + parts[i] = parts[i].replaceAll(/\\(.)/g, "$1"); + } + value = parts.join('"'); + } + return value; + } + function rfc5987decode(extvalue) { + const encodingend = extvalue.indexOf("'"); + if (encodingend === -1) { + return extvalue; + } + const encoding = extvalue.slice(0, encodingend); + const langvalue = extvalue.slice(encodingend + 1); + const value = langvalue.replace(/^[^']*'/, ""); + return textdecode(encoding, value); + } + function rfc2047decode(value) { + if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) { + return value; + } + return value.replaceAll(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) { + if (encoding === "q" || encoding === "Q") { + text = text.replaceAll("_", " "); + text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) { + return String.fromCharCode(parseInt(hex, 16)); + }); + return textdecode(charset, text); + } + try { + text = atob(text); + } catch {} + return textdecode(charset, text); + }); + } + return ""; +} + +/***/ }), +/* 184 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNetworkStream = void 0; +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _network_utils = __w_pdfjs_require__(182); +; +const OK_RESPONSE = 200; +const PARTIAL_CONTENT_RESPONSE = 206; +function getArrayBuffer(xhr) { + const data = xhr.response; + if (typeof data !== "string") { + return data; + } + return (0, _util.stringToBytes)(data).buffer; +} +class NetworkManager { + constructor(url) { + let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.url = url; + this.isHttp = /^https?:/i.test(url); + this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null); + this.withCredentials = args.withCredentials || false; + this.currXhrId = 0; + this.pendingRequests = Object.create(null); + } + requestRange(begin, end, listeners) { + const args = { + begin, + end + }; + for (const prop in listeners) { + args[prop] = listeners[prop]; + } + return this.request(args); + } + requestFull(listeners) { + return this.request(listeners); + } + request(args) { + const xhr = new XMLHttpRequest(); + const xhrId = this.currXhrId++; + const pendingRequest = this.pendingRequests[xhrId] = { + xhr + }; + xhr.open("GET", this.url); + xhr.withCredentials = this.withCredentials; + for (const property in this.httpHeaders) { + const value = this.httpHeaders[property]; + if (value === undefined) { + continue; + } + xhr.setRequestHeader(property, value); + } + if (this.isHttp && "begin" in args && "end" in args) { + xhr.setRequestHeader("Range", `bytes=${args.begin}-${args.end - 1}`); + pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE; + } else { + pendingRequest.expectedStatus = OK_RESPONSE; + } + xhr.responseType = "arraybuffer"; + if (args.onError) { + xhr.onerror = function (evt) { + args.onError(xhr.status); + }; + } + xhr.onreadystatechange = this.onStateChange.bind(this, xhrId); + xhr.onprogress = this.onProgress.bind(this, xhrId); + pendingRequest.onHeadersReceived = args.onHeadersReceived; + pendingRequest.onDone = args.onDone; + pendingRequest.onError = args.onError; + pendingRequest.onProgress = args.onProgress; + xhr.send(null); + return xhrId; + } + onProgress(xhrId, evt) { + const pendingRequest = this.pendingRequests[xhrId]; + if (!pendingRequest) { + return; + } + pendingRequest.onProgress?.(evt); + } + onStateChange(xhrId, evt) { + const pendingRequest = this.pendingRequests[xhrId]; + if (!pendingRequest) { + return; + } + const xhr = pendingRequest.xhr; + if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { + pendingRequest.onHeadersReceived(); + delete pendingRequest.onHeadersReceived; + } + if (xhr.readyState !== 4) { + return; + } + if (!(xhrId in this.pendingRequests)) { + return; + } + delete this.pendingRequests[xhrId]; + if (xhr.status === 0 && this.isHttp) { + pendingRequest.onError?.(xhr.status); + return; + } + const xhrStatus = xhr.status || OK_RESPONSE; + const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; + if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { + pendingRequest.onError?.(xhr.status); + return; + } + const chunk = getArrayBuffer(xhr); + if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { + const rangeHeader = xhr.getResponseHeader("Content-Range"); + const matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader); + pendingRequest.onDone({ + begin: parseInt(matches[1], 10), + chunk + }); + } else if (chunk) { + pendingRequest.onDone({ + begin: 0, + chunk + }); + } else { + pendingRequest.onError?.(xhr.status); + } + } + getRequestXhr(xhrId) { + return this.pendingRequests[xhrId].xhr; + } + isPendingRequest(xhrId) { + return xhrId in this.pendingRequests; + } + abortRequest(xhrId) { + const xhr = this.pendingRequests[xhrId].xhr; + delete this.pendingRequests[xhrId]; + xhr.abort(); + } +} +class PDFNetworkStream { + constructor(source) { + this._source = source; + this._manager = new NetworkManager(source.url, { + httpHeaders: source.httpHeaders, + withCredentials: source.withCredentials + }); + this._rangeChunkSize = source.rangeChunkSize; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + _onRangeRequestReaderClosed(reader) { + const i = this._rangeRequestReaders.indexOf(reader); + if (i >= 0) { + this._rangeRequestReaders.splice(i, 1); + } + } + getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source); + return this._fullRequestReader; + } + getRangeReader(begin, end) { + const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end); + reader.onClosed = this._onRangeRequestReaderClosed.bind(this); + this._rangeRequestReaders.push(reader); + return reader; + } + cancelAllRequests(reason) { + this._fullRequestReader?.cancel(reason); + for (const reader of this._rangeRequestReaders.slice(0)) { + reader.cancel(reason); + } + } +} +exports.PDFNetworkStream = PDFNetworkStream; +class PDFNetworkStreamFullRequestReader { + constructor(manager, source) { + this._manager = manager; + const args = { + onHeadersReceived: this._onHeadersReceived.bind(this), + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = source.url; + this._fullRequestId = manager.requestFull(args); + this._headersReceivedCapability = new _util.PromiseCapability(); + this._disableRange = source.disableRange || false; + this._contentLength = source.length; + this._rangeChunkSize = source.rangeChunkSize; + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + this._isStreamingSupported = false; + this._isRangeSupported = false; + this._cachedChunks = []; + this._requests = []; + this._done = false; + this._storedError = undefined; + this._filename = null; + this.onProgress = null; + } + _onHeadersReceived() { + const fullRequestXhrId = this._fullRequestId; + const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId); + const getResponseHeader = name => { + return fullRequestXhr.getResponseHeader(name); + }; + const { + allowRangeRequests, + suggestedLength + } = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader, + isHttp: this._manager.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }); + if (allowRangeRequests) { + this._isRangeSupported = true; + } + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + if (this._isRangeSupported) { + this._manager.abortRequest(fullRequestXhrId); + } + this._headersReceivedCapability.resolve(); + } + _onDone(data) { + if (data) { + if (this._requests.length > 0) { + const requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: data.chunk, + done: false + }); + } else { + this._cachedChunks.push(data.chunk); + } + } + this._done = true; + if (this._cachedChunks.length > 0) { + return; + } + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + } + _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + this._headersReceivedCapability.reject(this._storedError); + for (const requestCapability of this._requests) { + requestCapability.reject(this._storedError); + } + this._requests.length = 0; + this._cachedChunks.length = 0; + } + _onProgress(evt) { + this.onProgress?.({ + loaded: evt.loaded, + total: evt.lengthComputable ? evt.total : this._contentLength + }); + } + get filename() { + return this._filename; + } + get isRangeSupported() { + return this._isRangeSupported; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + get contentLength() { + return this._contentLength; + } + get headersReady() { + return this._headersReceivedCapability.promise; + } + async read() { + if (this._storedError) { + throw this._storedError; + } + if (this._cachedChunks.length > 0) { + const chunk = this._cachedChunks.shift(); + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const requestCapability = new _util.PromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + } + cancel(reason) { + this._done = true; + this._headersReceivedCapability.reject(reason); + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + if (this._manager.isPendingRequest(this._fullRequestId)) { + this._manager.abortRequest(this._fullRequestId); + } + this._fullRequestReader = null; + } +} +class PDFNetworkStreamRangeRequestReader { + constructor(manager, begin, end) { + this._manager = manager; + const args = { + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = manager.url; + this._requestId = manager.requestRange(begin, end, args); + this._requests = []; + this._queuedChunk = null; + this._done = false; + this._storedError = undefined; + this.onProgress = null; + this.onClosed = null; + } + _close() { + this.onClosed?.(this); + } + _onDone(data) { + const chunk = data.chunk; + if (this._requests.length > 0) { + const requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunk = chunk; + } + this._done = true; + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + this._close(); + } + _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + for (const requestCapability of this._requests) { + requestCapability.reject(this._storedError); + } + this._requests.length = 0; + this._queuedChunk = null; + } + _onProgress(evt) { + if (!this.isStreamingSupported) { + this.onProgress?.({ + loaded: evt.loaded + }); + } + } + get isStreamingSupported() { + return false; + } + async read() { + if (this._storedError) { + throw this._storedError; + } + if (this._queuedChunk !== null) { + const chunk = this._queuedChunk; + this._queuedChunk = null; + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const requestCapability = new _util.PromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + } + cancel(reason) { + this._done = true; + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + if (this._manager.isPendingRequest(this._requestId)) { + this._manager.abortRequest(this._requestId); + } + this._close(); + } +} + +/***/ }), +/* 185 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNodeStream = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +var _util = __w_pdfjs_require__(1); +var _network_utils = __w_pdfjs_require__(182); +; +const fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//; +function parseUrl(sourceUrl) { + const url = require("url"); + const parsedUrl = url.parse(sourceUrl); + if (parsedUrl.protocol === "file:" || parsedUrl.host) { + return parsedUrl; + } + if (/^[a-z]:[/\\]/i.test(sourceUrl)) { + return url.parse(`file:///${sourceUrl}`); + } + if (!parsedUrl.host) { + parsedUrl.protocol = "file:"; + } + return parsedUrl; +} +class PDFNodeStream { + constructor(source) { + this.source = source; + this.url = parseUrl(source.url); + this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:"; + this.isFsUrl = this.url.protocol === "file:"; + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + get _progressiveDataLength() { + return this._fullRequestReader?._loaded ?? 0; + } + getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once."); + this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this); + return this._fullRequestReader; + } + getRangeReader(start, end) { + if (end <= this._progressiveDataLength) { + return null; + } + const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end); + this._rangeRequestReaders.push(rangeReader); + return rangeReader; + } + cancelAllRequests(reason) { + this._fullRequestReader?.cancel(reason); + for (const reader of this._rangeRequestReaders.slice(0)) { + reader.cancel(reason); + } + } +} +exports.PDFNodeStream = PDFNodeStream; +class BaseFullReader { + constructor(stream) { + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + const source = stream.source; + this._contentLength = source.length; + this._loaded = 0; + this._filename = null; + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._readableStream = null; + this._readCapability = new _util.PromiseCapability(); + this._headersCapability = new _util.PromiseCapability(); + } + get headersReady() { + return this._headersCapability.promise; + } + get filename() { + return this._filename; + } + get contentLength() { + return this._contentLength; + } + get isRangeSupported() { + return this._isRangeSupported; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + await this._readCapability.promise; + if (this._done) { + return { + value: undefined, + done: true + }; + } + if (this._storedError) { + throw this._storedError; + } + const chunk = this._readableStream.read(); + if (chunk === null) { + this._readCapability = new _util.PromiseCapability(); + return this.read(); + } + this._loaded += chunk.length; + this.onProgress?.({ + loaded: this._loaded, + total: this._contentLength + }); + const buffer = new Uint8Array(chunk).buffer; + return { + value: buffer, + done: false + }; + } + cancel(reason) { + if (!this._readableStream) { + this._error(reason); + return; + } + this._readableStream.destroy(reason); + } + _error(reason) { + this._storedError = reason; + this._readCapability.resolve(); + } + _setReadableStream(readableStream) { + this._readableStream = readableStream; + readableStream.on("readable", () => { + this._readCapability.resolve(); + }); + readableStream.on("end", () => { + readableStream.destroy(); + this._done = true; + this._readCapability.resolve(); + }); + readableStream.on("error", reason => { + this._error(reason); + }); + if (!this._isStreamingSupported && this._isRangeSupported) { + this._error(new _util.AbortException("streaming is disabled")); + } + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } +} +class BaseRangeReader { + constructor(stream) { + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + this._loaded = 0; + this._readableStream = null; + this._readCapability = new _util.PromiseCapability(); + const source = stream.source; + this._isStreamingSupported = !source.disableStream; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + await this._readCapability.promise; + if (this._done) { + return { + value: undefined, + done: true + }; + } + if (this._storedError) { + throw this._storedError; + } + const chunk = this._readableStream.read(); + if (chunk === null) { + this._readCapability = new _util.PromiseCapability(); + return this.read(); + } + this._loaded += chunk.length; + this.onProgress?.({ + loaded: this._loaded + }); + const buffer = new Uint8Array(chunk).buffer; + return { + value: buffer, + done: false + }; + } + cancel(reason) { + if (!this._readableStream) { + this._error(reason); + return; + } + this._readableStream.destroy(reason); + } + _error(reason) { + this._storedError = reason; + this._readCapability.resolve(); + } + _setReadableStream(readableStream) { + this._readableStream = readableStream; + readableStream.on("readable", () => { + this._readCapability.resolve(); + }); + readableStream.on("end", () => { + readableStream.destroy(); + this._done = true; + this._readCapability.resolve(); + }); + readableStream.on("error", reason => { + this._error(reason); + }); + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } +} +function createRequestOptions(parsedUrl, headers) { + return { + protocol: parsedUrl.protocol, + auth: parsedUrl.auth, + host: parsedUrl.hostname, + port: parsedUrl.port, + path: parsedUrl.path, + method: "GET", + headers + }; +} +class PDFNodeStreamFullReader extends BaseFullReader { + constructor(stream) { + super(stream); + const handleResponse = response => { + if (response.statusCode === 404) { + const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`); + this._storedError = error; + this._headersCapability.reject(error); + return; + } + this._headersCapability.resolve(); + this._setReadableStream(response); + const getResponseHeader = name => { + return this._readableStream.headers[name.toLowerCase()]; + }; + const { + allowRangeRequests, + suggestedLength + } = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader, + isHttp: stream.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }); + this._isRangeSupported = allowRangeRequests; + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + }; + this._request = null; + if (this._url.protocol === "http:") { + const http = require("http"); + this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse); + } else { + const https = require("https"); + this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse); + } + this._request.on("error", reason => { + this._storedError = reason; + this._headersCapability.reject(reason); + }); + this._request.end(); + } +} +class PDFNodeStreamRangeReader extends BaseRangeReader { + constructor(stream, start, end) { + super(stream); + this._httpHeaders = {}; + for (const property in stream.httpHeaders) { + const value = stream.httpHeaders[property]; + if (value === undefined) { + continue; + } + this._httpHeaders[property] = value; + } + this._httpHeaders.Range = `bytes=${start}-${end - 1}`; + const handleResponse = response => { + if (response.statusCode === 404) { + const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`); + this._storedError = error; + return; + } + this._setReadableStream(response); + }; + this._request = null; + if (this._url.protocol === "http:") { + const http = require("http"); + this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse); + } else { + const https = require("https"); + this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse); + } + this._request.on("error", reason => { + this._storedError = reason; + }); + this._request.end(); + } +} +class PDFNodeStreamFsFullReader extends BaseFullReader { + constructor(stream) { + super(stream); + let path = decodeURIComponent(this._url.path); + if (fileUriRegex.test(this._url.href)) { + path = path.replace(/^\//, ""); + } + const fs = require("fs"); + fs.lstat(path, (error, stat) => { + if (error) { + if (error.code === "ENOENT") { + error = new _util.MissingPDFException(`Missing PDF "${path}".`); + } + this._storedError = error; + this._headersCapability.reject(error); + return; + } + this._contentLength = stat.size; + this._setReadableStream(fs.createReadStream(path)); + this._headersCapability.resolve(); + }); + } +} +class PDFNodeStreamFsRangeReader extends BaseRangeReader { + constructor(stream, start, end) { + super(stream); + let path = decodeURIComponent(this._url.path); + if (fileUriRegex.test(this._url.href)) { + path = path.replace(/^\//, ""); + } + const fs = require("fs"); + this._setReadableStream(fs.createReadStream(path, { + start, + end: end - 1 + })); + } +} + +/***/ }), +/* 186 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SVGGraphics = void 0; +__w_pdfjs_require__(84); +__w_pdfjs_require__(86); +__w_pdfjs_require__(87); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(2); +__w_pdfjs_require__(89); +__w_pdfjs_require__(187); +var _display_utils = __w_pdfjs_require__(168); +var _util = __w_pdfjs_require__(1); +; +const SVG_DEFAULTS = { + fontStyle: "normal", + fontWeight: "normal", + fillColor: "#000000" +}; +const XML_NS = "http://www.w3.org/XML/1998/namespace"; +const XLINK_NS = "http://www.w3.org/1999/xlink"; +const LINE_CAP_STYLES = ["butt", "round", "square"]; +const LINE_JOIN_STYLES = ["miter", "round", "bevel"]; +const createObjectURL = function (data) { + let contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; + let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (URL.createObjectURL && typeof Blob !== "undefined" && !forceDataSchema) { + return URL.createObjectURL(new Blob([data], { + type: contentType + })); + } + const digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + let buffer = `data:${contentType};base64,`; + for (let i = 0, ii = data.length; i < ii; i += 3) { + const b1 = data[i] & 0xff; + const b2 = data[i + 1] & 0xff; + const b3 = data[i + 2] & 0xff; + const d1 = b1 >> 2, + d2 = (b1 & 3) << 4 | b2 >> 4; + const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64; + const d4 = i + 2 < ii ? b3 & 0x3f : 64; + buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; + } + return buffer; +}; +const convertImgDataToPng = function () { + const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); + const CHUNK_WRAPPER_SIZE = 12; + const crcTable = new Int32Array(256); + for (let i = 0; i < 256; i++) { + let c = i; + for (let h = 0; h < 8; h++) { + c = c & 1 ? 0xedb88320 ^ c >> 1 & 0x7fffffff : c >> 1 & 0x7fffffff; + } + crcTable[i] = c; + } + function crc32(data, start, end) { + let crc = -1; + for (let i = start; i < end; i++) { + const a = (crc ^ data[i]) & 0xff; + const b = crcTable[a]; + crc = crc >>> 8 ^ b; + } + return crc ^ -1; + } + function writePngChunk(type, body, data, offset) { + let p = offset; + const len = body.length; + data[p] = len >> 24 & 0xff; + data[p + 1] = len >> 16 & 0xff; + data[p + 2] = len >> 8 & 0xff; + data[p + 3] = len & 0xff; + p += 4; + data[p] = type.charCodeAt(0) & 0xff; + data[p + 1] = type.charCodeAt(1) & 0xff; + data[p + 2] = type.charCodeAt(2) & 0xff; + data[p + 3] = type.charCodeAt(3) & 0xff; + p += 4; + data.set(body, p); + p += body.length; + const crc = crc32(data, offset + 4, p); + data[p] = crc >> 24 & 0xff; + data[p + 1] = crc >> 16 & 0xff; + data[p + 2] = crc >> 8 & 0xff; + data[p + 3] = crc & 0xff; + } + function adler32(data, start, end) { + let a = 1; + let b = 0; + for (let i = start; i < end; ++i) { + a = (a + (data[i] & 0xff)) % 65521; + b = (b + a) % 65521; + } + return b << 16 | a; + } + function deflateSync(literals) { + if (!_util.isNodeJS) { + return deflateSyncUncompressed(literals); + } + try { + const input = parseInt(process.versions.node) >= 8 ? literals : Buffer.from(literals); + const output = require("zlib").deflateSync(input, { + level: 9 + }); + return output instanceof Uint8Array ? output : new Uint8Array(output); + } catch (e) { + (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e); + } + return deflateSyncUncompressed(literals); + } + function deflateSyncUncompressed(literals) { + let len = literals.length; + const maxBlockLength = 0xffff; + const deflateBlocks = Math.ceil(len / maxBlockLength); + const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4); + let pi = 0; + idat[pi++] = 0x78; + idat[pi++] = 0x9c; + let pos = 0; + while (len > maxBlockLength) { + idat[pi++] = 0x00; + idat[pi++] = 0xff; + idat[pi++] = 0xff; + idat[pi++] = 0x00; + idat[pi++] = 0x00; + idat.set(literals.subarray(pos, pos + maxBlockLength), pi); + pi += maxBlockLength; + pos += maxBlockLength; + len -= maxBlockLength; + } + idat[pi++] = 0x01; + idat[pi++] = len & 0xff; + idat[pi++] = len >> 8 & 0xff; + idat[pi++] = ~len & 0xffff & 0xff; + idat[pi++] = (~len & 0xffff) >> 8 & 0xff; + idat.set(literals.subarray(pos), pi); + pi += literals.length - pos; + const adler = adler32(literals, 0, literals.length); + idat[pi++] = adler >> 24 & 0xff; + idat[pi++] = adler >> 16 & 0xff; + idat[pi++] = adler >> 8 & 0xff; + idat[pi++] = adler & 0xff; + return idat; + } + function encode(imgData, kind, forceDataSchema, isMask) { + const width = imgData.width; + const height = imgData.height; + let bitDepth, colorType, lineSize; + const bytes = imgData.data; + switch (kind) { + case _util.ImageKind.GRAYSCALE_1BPP: + colorType = 0; + bitDepth = 1; + lineSize = width + 7 >> 3; + break; + case _util.ImageKind.RGB_24BPP: + colorType = 2; + bitDepth = 8; + lineSize = width * 3; + break; + case _util.ImageKind.RGBA_32BPP: + colorType = 6; + bitDepth = 8; + lineSize = width * 4; + break; + default: + throw new Error("invalid format"); + } + const literals = new Uint8Array((1 + lineSize) * height); + let offsetLiterals = 0, + offsetBytes = 0; + for (let y = 0; y < height; ++y) { + literals[offsetLiterals++] = 0; + literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals); + offsetBytes += lineSize; + offsetLiterals += lineSize; + } + if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) { + offsetLiterals = 0; + for (let y = 0; y < height; y++) { + offsetLiterals++; + for (let i = 0; i < lineSize; i++) { + literals[offsetLiterals++] ^= 0xff; + } + } + } + const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]); + const idat = deflateSync(literals); + const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length; + const data = new Uint8Array(pngLength); + let offset = 0; + data.set(PNG_HEADER, offset); + offset += PNG_HEADER.length; + writePngChunk("IHDR", ihdr, data, offset); + offset += CHUNK_WRAPPER_SIZE + ihdr.length; + writePngChunk("IDATA", idat, data, offset); + offset += CHUNK_WRAPPER_SIZE + idat.length; + writePngChunk("IEND", new Uint8Array(0), data, offset); + return createObjectURL(data, "image/png", forceDataSchema); + } + return function convertImgDataToPng(imgData, forceDataSchema, isMask) { + const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind; + return encode(imgData, kind, forceDataSchema, isMask); + }; +}(); +class SVGExtraState { + constructor() { + this.fontSizeScale = 1; + this.fontWeight = SVG_DEFAULTS.fontWeight; + this.fontSize = 0; + this.textMatrix = _util.IDENTITY_MATRIX; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textMatrixScale = 1; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRise = 0; + this.fillColor = SVG_DEFAULTS.fillColor; + this.strokeColor = "#000000"; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.lineJoin = ""; + this.lineCap = ""; + this.miterLimit = 0; + this.dashArray = []; + this.dashPhase = 0; + this.dependencies = []; + this.activeClipUrl = null; + this.clipGroup = null; + this.maskId = ""; + } + clone() { + return Object.create(this); + } + setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } +} +function opListToTree(opList) { + let opTree = []; + const tmp = []; + for (const opListElement of opList) { + if (opListElement.fn === "save") { + opTree.push({ + fnId: 92, + fn: "group", + items: [] + }); + tmp.push(opTree); + opTree = opTree.at(-1).items; + continue; + } + if (opListElement.fn === "restore") { + opTree = tmp.pop(); + } else { + opTree.push(opListElement); + } + } + return opTree; +} +function pf(value) { + if (Number.isInteger(value)) { + return value.toString(); + } + const s = value.toFixed(10); + let i = s.length - 1; + if (s[i] !== "0") { + return s; + } + do { + i--; + } while (s[i] === "0"); + return s.substring(0, s[i] === "." ? i : i + 1); +} +function pm(m) { + if (m[4] === 0 && m[5] === 0) { + if (m[1] === 0 && m[2] === 0) { + if (m[0] === 1 && m[3] === 1) { + return ""; + } + return `scale(${pf(m[0])} ${pf(m[3])})`; + } + if (m[0] === m[3] && m[1] === -m[2]) { + const a = Math.acos(m[0]) * 180 / Math.PI; + return `rotate(${pf(a)})`; + } + } else if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) { + return `translate(${pf(m[4])} ${pf(m[5])})`; + } + return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`; +} +let clipCount = 0; +let maskCount = 0; +let shadingCount = 0; +class SVGGraphics { + constructor(commonObjs, objs) { + let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + (0, _display_utils.deprecated)("The SVG back-end is no longer maintained and *may* be removed in the future."); + this.svgFactory = new _display_utils.DOMSVGFactory(); + this.current = new SVGExtraState(); + this.transformMatrix = _util.IDENTITY_MATRIX; + this.transformStack = []; + this.extraStack = []; + this.commonObjs = commonObjs; + this.objs = objs; + this.pendingClip = null; + this.pendingEOFill = false; + this.embedFonts = false; + this.embeddedFonts = Object.create(null); + this.cssStyle = null; + this.forceDataSchema = !!forceDataSchema; + this._operatorIdMapping = []; + for (const op in _util.OPS) { + this._operatorIdMapping[_util.OPS[op]] = op; + } + } + getObject(data) { + let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (typeof data === "string") { + return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data); + } + return fallback; + } + save() { + this.transformStack.push(this.transformMatrix); + const old = this.current; + this.extraStack.push(old); + this.current = old.clone(); + } + restore() { + this.transformMatrix = this.transformStack.pop(); + this.current = this.extraStack.pop(); + this.pendingClip = null; + this.tgrp = null; + } + group(items) { + this.save(); + this.executeOpTree(items); + this.restore(); + } + loadDependencies(operatorList) { + const fnArray = operatorList.fnArray; + const argsArray = operatorList.argsArray; + for (let i = 0, ii = fnArray.length; i < ii; i++) { + if (fnArray[i] !== _util.OPS.dependency) { + continue; + } + for (const obj of argsArray[i]) { + const objsPool = obj.startsWith("g_") ? this.commonObjs : this.objs; + const promise = new Promise(resolve => { + objsPool.get(obj, resolve); + }); + this.current.dependencies.push(promise); + } + } + return Promise.all(this.current.dependencies); + } + transform(a, b, c, d, e, f) { + const transformMatrix = [a, b, c, d, e, f]; + this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix); + this.tgrp = null; + } + getSVG(operatorList, viewport) { + this.viewport = viewport; + const svgElement = this._initialize(viewport); + return this.loadDependencies(operatorList).then(() => { + this.transformMatrix = _util.IDENTITY_MATRIX; + this.executeOpTree(this.convertOpList(operatorList)); + return svgElement; + }); + } + convertOpList(operatorList) { + const operatorIdMapping = this._operatorIdMapping; + const argsArray = operatorList.argsArray; + const fnArray = operatorList.fnArray; + const opList = []; + for (let i = 0, ii = fnArray.length; i < ii; i++) { + const fnId = fnArray[i]; + opList.push({ + fnId, + fn: operatorIdMapping[fnId], + args: argsArray[i] + }); + } + return opListToTree(opList); + } + executeOpTree(opTree) { + for (const opTreeElement of opTree) { + const fn = opTreeElement.fn; + const fnId = opTreeElement.fnId; + const args = opTreeElement.args; + switch (fnId | 0) { + case _util.OPS.beginText: + this.beginText(); + break; + case _util.OPS.dependency: + break; + case _util.OPS.setLeading: + this.setLeading(args); + break; + case _util.OPS.setLeadingMoveText: + this.setLeadingMoveText(args[0], args[1]); + break; + case _util.OPS.setFont: + this.setFont(args); + break; + case _util.OPS.showText: + this.showText(args[0]); + break; + case _util.OPS.showSpacedText: + this.showText(args[0]); + break; + case _util.OPS.endText: + this.endText(); + break; + case _util.OPS.moveText: + this.moveText(args[0], args[1]); + break; + case _util.OPS.setCharSpacing: + this.setCharSpacing(args[0]); + break; + case _util.OPS.setWordSpacing: + this.setWordSpacing(args[0]); + break; + case _util.OPS.setHScale: + this.setHScale(args[0]); + break; + case _util.OPS.setTextMatrix: + this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + case _util.OPS.setTextRise: + this.setTextRise(args[0]); + break; + case _util.OPS.setTextRenderingMode: + this.setTextRenderingMode(args[0]); + break; + case _util.OPS.setLineWidth: + this.setLineWidth(args[0]); + break; + case _util.OPS.setLineJoin: + this.setLineJoin(args[0]); + break; + case _util.OPS.setLineCap: + this.setLineCap(args[0]); + break; + case _util.OPS.setMiterLimit: + this.setMiterLimit(args[0]); + break; + case _util.OPS.setFillRGBColor: + this.setFillRGBColor(args[0], args[1], args[2]); + break; + case _util.OPS.setStrokeRGBColor: + this.setStrokeRGBColor(args[0], args[1], args[2]); + break; + case _util.OPS.setStrokeColorN: + this.setStrokeColorN(args); + break; + case _util.OPS.setFillColorN: + this.setFillColorN(args); + break; + case _util.OPS.shadingFill: + this.shadingFill(args[0]); + break; + case _util.OPS.setDash: + this.setDash(args[0], args[1]); + break; + case _util.OPS.setRenderingIntent: + this.setRenderingIntent(args[0]); + break; + case _util.OPS.setFlatness: + this.setFlatness(args[0]); + break; + case _util.OPS.setGState: + this.setGState(args[0]); + break; + case _util.OPS.fill: + this.fill(); + break; + case _util.OPS.eoFill: + this.eoFill(); + break; + case _util.OPS.stroke: + this.stroke(); + break; + case _util.OPS.fillStroke: + this.fillStroke(); + break; + case _util.OPS.eoFillStroke: + this.eoFillStroke(); + break; + case _util.OPS.clip: + this.clip("nonzero"); + break; + case _util.OPS.eoClip: + this.clip("evenodd"); + break; + case _util.OPS.paintSolidColorImageMask: + this.paintSolidColorImageMask(); + break; + case _util.OPS.paintImageXObject: + this.paintImageXObject(args[0]); + break; + case _util.OPS.paintInlineImageXObject: + this.paintInlineImageXObject(args[0]); + break; + case _util.OPS.paintImageMaskXObject: + this.paintImageMaskXObject(args[0]); + break; + case _util.OPS.paintFormXObjectBegin: + this.paintFormXObjectBegin(args[0], args[1]); + break; + case _util.OPS.paintFormXObjectEnd: + this.paintFormXObjectEnd(); + break; + case _util.OPS.closePath: + this.closePath(); + break; + case _util.OPS.closeStroke: + this.closeStroke(); + break; + case _util.OPS.closeFillStroke: + this.closeFillStroke(); + break; + case _util.OPS.closeEOFillStroke: + this.closeEOFillStroke(); + break; + case _util.OPS.nextLine: + this.nextLine(); + break; + case _util.OPS.transform: + this.transform(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + case _util.OPS.constructPath: + this.constructPath(args[0], args[1]); + break; + case _util.OPS.endPath: + this.endPath(); + break; + case 92: + this.group(opTreeElement.items); + break; + default: + (0, _util.warn)(`Unimplemented operator ${fn}`); + break; + } + } + } + setWordSpacing(wordSpacing) { + this.current.wordSpacing = wordSpacing; + } + setCharSpacing(charSpacing) { + this.current.charSpacing = charSpacing; + } + nextLine() { + this.moveText(0, this.current.leading); + } + setTextMatrix(a, b, c, d, e, f) { + const current = this.current; + current.textMatrix = current.lineMatrix = [a, b, c, d, e, f]; + current.textMatrixScale = Math.hypot(a, b); + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtElement.append(current.tspan); + } + beginText() { + const current = this.current; + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.textMatrix = _util.IDENTITY_MATRIX; + current.lineMatrix = _util.IDENTITY_MATRIX; + current.textMatrixScale = 1; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtgrp = this.svgFactory.createElement("svg:g"); + current.xcoords = []; + current.ycoords = []; + } + moveText(x, y) { + const current = this.current; + current.x = current.lineX += x; + current.y = current.lineY += y; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + showText(glyphs) { + const current = this.current; + const font = current.font; + const fontSize = current.fontSize; + if (fontSize === 0) { + return; + } + const fontSizeScale = current.fontSizeScale; + const charSpacing = current.charSpacing; + const wordSpacing = current.wordSpacing; + const fontDirection = current.fontDirection; + const textHScale = current.textHScale * fontDirection; + const vertical = font.vertical; + const spacingDir = vertical ? 1 : -1; + const defaultVMetrics = font.defaultVMetrics; + const widthAdvanceScale = fontSize * current.fontMatrix[0]; + let x = 0; + for (const glyph of glyphs) { + if (glyph === null) { + x += fontDirection * wordSpacing; + continue; + } else if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + const character = glyph.fontChar; + let scaledX, scaledY; + let width = glyph.width; + if (vertical) { + let vx; + const vmetric = glyph.vmetric || defaultVMetrics; + vx = glyph.vmetric ? vmetric[1] : width * 0.5; + vx = -vx * widthAdvanceScale; + const vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + if (glyph.isInFont || font.missingFile) { + current.xcoords.push(current.x + scaledX); + if (vertical) { + current.ycoords.push(-current.y + scaledY); + } + current.tspan.textContent += character; + } else {} + const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection; + x += charWidth; + } + current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" ")); + if (vertical) { + current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" ")); + } else { + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); + if (current.fontStyle !== SVG_DEFAULTS.fontStyle) { + current.tspan.setAttributeNS(null, "font-style", current.fontStyle); + } + if (current.fontWeight !== SVG_DEFAULTS.fontWeight) { + current.tspan.setAttributeNS(null, "font-weight", current.fontWeight); + } + const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + if (current.fillColor !== SVG_DEFAULTS.fillColor) { + current.tspan.setAttributeNS(null, "fill", current.fillColor); + } + if (current.fillAlpha < 1) { + current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha); + } + } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) { + current.tspan.setAttributeNS(null, "fill", "transparent"); + } else { + current.tspan.setAttributeNS(null, "fill", "none"); + } + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + const lineWidthScale = 1 / (current.textMatrixScale || 1); + this._setStrokeAttributes(current.tspan, lineWidthScale); + } + let textMatrix = current.textMatrix; + if (current.textRise !== 0) { + textMatrix = textMatrix.slice(); + textMatrix[5] += current.textRise; + } + current.txtElement.setAttributeNS(null, "transform", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`); + current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve"); + current.txtElement.append(current.tspan); + current.txtgrp.append(current.txtElement); + this._ensureTransformGroup().append(current.txtElement); + } + setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + addFontStyle(fontObj) { + if (!fontObj.data) { + throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.'); + } + if (!this.cssStyle) { + this.cssStyle = this.svgFactory.createElement("svg:style"); + this.cssStyle.setAttributeNS(null, "type", "text/css"); + this.defs.append(this.cssStyle); + } + const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema); + this.cssStyle.textContent += `@font-face { font-family: "${fontObj.loadedName}";` + ` src: url(${url}); }\n`; + } + setFont(details) { + const current = this.current; + const fontObj = this.commonObjs.get(details[0]); + let size = details[1]; + current.font = fontObj; + if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) { + this.addFontStyle(fontObj); + this.embeddedFonts[fontObj.loadedName] = fontObj; + } + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + let bold = "normal"; + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + const italic = fontObj.italic ? "italic" : "normal"; + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + current.fontSize = size; + current.fontFamily = fontObj.loadedName; + current.fontWeight = bold; + current.fontStyle = italic; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.xcoords = []; + current.ycoords = []; + } + endText() { + const current = this.current; + if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) { + current.element = current.txtElement; + this.clip("nonzero"); + this.endPath(); + } + } + setLineWidth(width) { + if (width > 0) { + this.current.lineWidth = width; + } + } + setLineCap(style) { + this.current.lineCap = LINE_CAP_STYLES[style]; + } + setLineJoin(style) { + this.current.lineJoin = LINE_JOIN_STYLES[style]; + } + setMiterLimit(limit) { + this.current.miterLimit = limit; + } + setStrokeAlpha(strokeAlpha) { + this.current.strokeAlpha = strokeAlpha; + } + setStrokeRGBColor(r, g, b) { + this.current.strokeColor = _util.Util.makeHexColor(r, g, b); + } + setFillAlpha(fillAlpha) { + this.current.fillAlpha = fillAlpha; + } + setFillRGBColor(r, g, b) { + this.current.fillColor = _util.Util.makeHexColor(r, g, b); + this.current.tspan = this.svgFactory.createElement("svg:tspan"); + this.current.xcoords = []; + this.current.ycoords = []; + } + setStrokeColorN(args) { + this.current.strokeColor = this._makeColorN_Pattern(args); + } + setFillColorN(args) { + this.current.fillColor = this._makeColorN_Pattern(args); + } + shadingFill(args) { + const { + width, + height + } = this.viewport; + const inv = _util.Util.inverseTransform(this.transformMatrix); + const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv); + const rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", x0); + rect.setAttributeNS(null, "y", y0); + rect.setAttributeNS(null, "width", x1 - x0); + rect.setAttributeNS(null, "height", y1 - y0); + rect.setAttributeNS(null, "fill", this._makeShadingPattern(args)); + if (this.current.fillAlpha < 1) { + rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha); + } + this._ensureTransformGroup().append(rect); + } + _makeColorN_Pattern(args) { + if (args[0] === "TilingPattern") { + return this._makeTilingPattern(args); + } + return this._makeShadingPattern(args); + } + _makeTilingPattern(args) { + const color = args[1]; + const operatorList = args[2]; + const matrix = args[3] || _util.IDENTITY_MATRIX; + const [x0, y0, x1, y1] = args[4]; + const xstep = args[5]; + const ystep = args[6]; + const paintType = args[7]; + const tilingId = `shading${shadingCount++}`; + const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]); + const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix); + const txstep = xstep * xscale; + const tystep = ystep * yscale; + const tiling = this.svgFactory.createElement("svg:pattern"); + tiling.setAttributeNS(null, "id", tilingId); + tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse"); + tiling.setAttributeNS(null, "width", txstep); + tiling.setAttributeNS(null, "height", tystep); + tiling.setAttributeNS(null, "x", `${tx0}`); + tiling.setAttributeNS(null, "y", `${ty0}`); + const svg = this.svg; + const transformMatrix = this.transformMatrix; + const fillColor = this.current.fillColor; + const strokeColor = this.current.strokeColor; + const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0); + this.svg = bbox; + this.transformMatrix = matrix; + if (paintType === 2) { + const cssColor = _util.Util.makeHexColor(...color); + this.current.fillColor = cssColor; + this.current.strokeColor = cssColor; + } + this.executeOpTree(this.convertOpList(operatorList)); + this.svg = svg; + this.transformMatrix = transformMatrix; + this.current.fillColor = fillColor; + this.current.strokeColor = strokeColor; + tiling.append(bbox.childNodes[0]); + this.defs.append(tiling); + return `url(#${tilingId})`; + } + _makeShadingPattern(args) { + if (typeof args === "string") { + args = this.objs.get(args); + } + switch (args[0]) { + case "RadialAxial": + const shadingId = `shading${shadingCount++}`; + const colorStops = args[3]; + let gradient; + switch (args[1]) { + case "axial": + const point0 = args[4]; + const point1 = args[5]; + gradient = this.svgFactory.createElement("svg:linearGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "x1", point0[0]); + gradient.setAttributeNS(null, "y1", point0[1]); + gradient.setAttributeNS(null, "x2", point1[0]); + gradient.setAttributeNS(null, "y2", point1[1]); + break; + case "radial": + const focalPoint = args[4]; + const circlePoint = args[5]; + const focalRadius = args[6]; + const circleRadius = args[7]; + gradient = this.svgFactory.createElement("svg:radialGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "cx", circlePoint[0]); + gradient.setAttributeNS(null, "cy", circlePoint[1]); + gradient.setAttributeNS(null, "r", circleRadius); + gradient.setAttributeNS(null, "fx", focalPoint[0]); + gradient.setAttributeNS(null, "fy", focalPoint[1]); + gradient.setAttributeNS(null, "fr", focalRadius); + break; + default: + throw new Error(`Unknown RadialAxial type: ${args[1]}`); + } + for (const colorStop of colorStops) { + const stop = this.svgFactory.createElement("svg:stop"); + stop.setAttributeNS(null, "offset", colorStop[0]); + stop.setAttributeNS(null, "stop-color", colorStop[1]); + gradient.append(stop); + } + this.defs.append(gradient); + return `url(#${shadingId})`; + case "Mesh": + (0, _util.warn)("Unimplemented pattern Mesh"); + return null; + case "Dummy": + return "hotpink"; + default: + throw new Error(`Unknown IR type: ${args[0]}`); + } + } + setDash(dashArray, dashPhase) { + this.current.dashArray = dashArray; + this.current.dashPhase = dashPhase; + } + constructPath(ops, args) { + const current = this.current; + let x = current.x, + y = current.y; + let d = []; + let j = 0; + for (const op of ops) { + switch (op | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + const width = args[j++]; + const height = args[j++]; + const xw = x + width; + const yh = y + height; + d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z"); + break; + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + d.push("M", pf(x), pf(y)); + break; + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + d.push("L", pf(x), pf(y)); + break; + case _util.OPS.curveTo: + x = args[j + 4]; + y = args[j + 5]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y)); + j += 6; + break; + case _util.OPS.curveTo2: + d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3])); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + case _util.OPS.curveTo3: + x = args[j + 2]; + y = args[j + 3]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y)); + j += 4; + break; + case _util.OPS.closePath: + d.push("Z"); + break; + } + } + d = d.join(" "); + if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) { + d = current.path.getAttributeNS(null, "d") + d; + } else { + current.path = this.svgFactory.createElement("svg:path"); + this._ensureTransformGroup().append(current.path); + } + current.path.setAttributeNS(null, "d", d); + current.path.setAttributeNS(null, "fill", "none"); + current.element = current.path; + current.setCurrentPoint(x, y); + } + endPath() { + const current = this.current; + current.path = null; + if (!this.pendingClip) { + return; + } + if (!current.element) { + this.pendingClip = null; + return; + } + const clipId = `clippath${clipCount++}`; + const clipPath = this.svgFactory.createElement("svg:clipPath"); + clipPath.setAttributeNS(null, "id", clipId); + clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix)); + const clipElement = current.element.cloneNode(true); + if (this.pendingClip === "evenodd") { + clipElement.setAttributeNS(null, "clip-rule", "evenodd"); + } else { + clipElement.setAttributeNS(null, "clip-rule", "nonzero"); + } + this.pendingClip = null; + clipPath.append(clipElement); + this.defs.append(clipPath); + if (current.activeClipUrl) { + current.clipGroup = null; + for (const prev of this.extraStack) { + prev.clipGroup = null; + } + clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl); + } + current.activeClipUrl = `url(#${clipId})`; + this.tgrp = null; + } + clip(type) { + this.pendingClip = type; + } + closePath() { + const current = this.current; + if (current.path) { + const d = `${current.path.getAttributeNS(null, "d")}Z`; + current.path.setAttributeNS(null, "d", d); + } + } + setLeading(leading) { + this.current.leading = -leading; + } + setTextRise(textRise) { + this.current.textRise = textRise; + } + setTextRenderingMode(textRenderingMode) { + this.current.textRenderingMode = textRenderingMode; + } + setHScale(scale) { + this.current.textHScale = scale / 100; + } + setRenderingIntent(intent) {} + setFlatness(flatness) {} + setGState(states) { + for (const [key, value] of states) { + switch (key) { + case "LW": + this.setLineWidth(value); + break; + case "LC": + this.setLineCap(value); + break; + case "LJ": + this.setLineJoin(value); + break; + case "ML": + this.setMiterLimit(value); + break; + case "D": + this.setDash(value[0], value[1]); + break; + case "RI": + this.setRenderingIntent(value); + break; + case "FL": + this.setFlatness(value); + break; + case "Font": + this.setFont(value); + break; + case "CA": + this.setStrokeAlpha(value); + break; + case "ca": + this.setFillAlpha(value); + break; + default: + (0, _util.warn)(`Unimplemented graphic state operator ${key}`); + break; + } + } + } + fill() { + const current = this.current; + if (current.element) { + current.element.setAttributeNS(null, "fill", current.fillColor); + current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha); + this.endPath(); + } + } + stroke() { + const current = this.current; + if (current.element) { + this._setStrokeAttributes(current.element); + current.element.setAttributeNS(null, "fill", "none"); + this.endPath(); + } + } + _setStrokeAttributes(element) { + let lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + const current = this.current; + let dashArray = current.dashArray; + if (lineWidthScale !== 1 && dashArray.length > 0) { + dashArray = dashArray.map(function (value) { + return lineWidthScale * value; + }); + } + element.setAttributeNS(null, "stroke", current.strokeColor); + element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha); + element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit)); + element.setAttributeNS(null, "stroke-linecap", current.lineCap); + element.setAttributeNS(null, "stroke-linejoin", current.lineJoin); + element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px"); + element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" ")); + element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px"); + } + eoFill() { + this.current.element?.setAttributeNS(null, "fill-rule", "evenodd"); + this.fill(); + } + fillStroke() { + this.stroke(); + this.fill(); + } + eoFillStroke() { + this.current.element?.setAttributeNS(null, "fill-rule", "evenodd"); + this.fillStroke(); + } + closeStroke() { + this.closePath(); + this.stroke(); + } + closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + closeEOFillStroke() { + this.closePath(); + this.eoFillStroke(); + } + paintSolidColorImageMask() { + const rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", "1px"); + rect.setAttributeNS(null, "height", "1px"); + rect.setAttributeNS(null, "fill", this.current.fillColor); + this._ensureTransformGroup().append(rect); + } + paintImageXObject(objId) { + const imgData = this.getObject(objId); + if (!imgData) { + (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`); + return; + } + this.paintInlineImageXObject(imgData); + } + paintInlineImageXObject(imgData, mask) { + const width = imgData.width; + const height = imgData.height; + const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask); + const cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", "0"); + cliprect.setAttributeNS(null, "y", "0"); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + const imgEl = this.svgFactory.createElement("svg:image"); + imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc); + imgEl.setAttributeNS(null, "x", "0"); + imgEl.setAttributeNS(null, "y", pf(-height)); + imgEl.setAttributeNS(null, "width", pf(width) + "px"); + imgEl.setAttributeNS(null, "height", pf(height) + "px"); + imgEl.setAttributeNS(null, "transform", `scale(${pf(1 / width)} ${pf(-1 / height)})`); + if (mask) { + mask.append(imgEl); + } else { + this._ensureTransformGroup().append(imgEl); + } + } + paintImageMaskXObject(img) { + const imgData = this.getObject(img.data, img); + if (imgData.bitmap) { + (0, _util.warn)("paintImageMaskXObject: ImageBitmap support is not implemented, " + "ensure that the `isOffscreenCanvasSupported` API parameter is disabled."); + return; + } + const current = this.current; + const width = imgData.width; + const height = imgData.height; + const fillColor = current.fillColor; + current.maskId = `mask${maskCount++}`; + const mask = this.svgFactory.createElement("svg:mask"); + mask.setAttributeNS(null, "id", current.maskId); + const rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", pf(width)); + rect.setAttributeNS(null, "height", pf(height)); + rect.setAttributeNS(null, "fill", fillColor); + rect.setAttributeNS(null, "mask", `url(#${current.maskId})`); + this.defs.append(mask); + this._ensureTransformGroup().append(rect); + this.paintInlineImageXObject(imgData, mask); + } + paintFormXObjectBegin(matrix, bbox) { + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]); + } + if (bbox) { + const width = bbox[2] - bbox[0]; + const height = bbox[3] - bbox[1]; + const cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", bbox[0]); + cliprect.setAttributeNS(null, "y", bbox[1]); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + this.endPath(); + } + } + paintFormXObjectEnd() {} + _initialize(viewport) { + const svg = this.svgFactory.create(viewport.width, viewport.height); + const definitions = this.svgFactory.createElement("svg:defs"); + svg.append(definitions); + this.defs = definitions; + const rootGroup = this.svgFactory.createElement("svg:g"); + rootGroup.setAttributeNS(null, "transform", pm(viewport.transform)); + svg.append(rootGroup); + this.svg = rootGroup; + return svg; + } + _ensureClipGroup() { + if (!this.current.clipGroup) { + const clipGroup = this.svgFactory.createElement("svg:g"); + clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl); + this.svg.append(clipGroup); + this.current.clipGroup = clipGroup; + } + return this.current.clipGroup; + } + _ensureTransformGroup() { + if (!this.tgrp) { + this.tgrp = this.svgFactory.createElement("svg:g"); + this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix)); + if (this.current.activeClipUrl) { + this._ensureClipGroup().append(this.tgrp); + } else { + this.svg.append(this.tgrp); + } + } + return this.tgrp; + } +} +exports.SVGGraphics = SVGGraphics; + +/***/ }), +/* 187 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var $group = __w_pdfjs_require__(188); +var addToUnscopables = __w_pdfjs_require__(193); +$({ + target: 'Array', + proto: true +}, { + group: function group(callbackfn) { + var thisArg = arguments.length > 1 ? arguments[1] : undefined; + return $group(this, callbackfn, thisArg); + } +}); +addToUnscopables('group'); + +/***/ }), +/* 188 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var bind = __w_pdfjs_require__(99); +var uncurryThis = __w_pdfjs_require__(14); +var IndexedObject = __w_pdfjs_require__(13); +var toObject = __w_pdfjs_require__(40); +var toPropertyKey = __w_pdfjs_require__(18); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var objectCreate = __w_pdfjs_require__(189); +var arrayFromConstructorAndList = __w_pdfjs_require__(108); +var $Array = Array; +var push = uncurryThis([].push); +module.exports = function ($this, callbackfn, that, specificConstructor) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that); + var target = objectCreate(null); + var length = lengthOfArrayLike(self); + var index = 0; + var Constructor, key, value; + for (; length > index; index++) { + value = self[index]; + key = toPropertyKey(boundFunction(value, index, O)); + if (key in target) + push(target[key], value); + else + target[key] = [value]; + } + if (specificConstructor) { + Constructor = specificConstructor(O); + if (Constructor !== $Array) { + for (key in target) + target[key] = arrayFromConstructorAndList(Constructor, target[key]); + } + } + return target; +}; + +/***/ }), +/* 189 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var anObject = __w_pdfjs_require__(47); +var definePropertiesModule = __w_pdfjs_require__(190); +var enumBugKeys = __w_pdfjs_require__(66); +var hiddenKeys = __w_pdfjs_require__(55); +var html = __w_pdfjs_require__(192); +var documentCreateElement = __w_pdfjs_require__(43); +var sharedKey = __w_pdfjs_require__(54); +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); +var EmptyConstructor = function () { +}; +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; + return temp; +}; +var NullProtoObjectViaIFrame = function () { + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { + } + NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); + var length = enumBugKeys.length; + while (length--) + delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; +hiddenKeys[IE_PROTO] = true; +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + result[IE_PROTO] = O; + } else + result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + +/***/ }), +/* 190 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(46); +var definePropertyModule = __w_pdfjs_require__(45); +var anObject = __w_pdfjs_require__(47); +var toIndexedObject = __w_pdfjs_require__(12); +var objectKeys = __w_pdfjs_require__(191); +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) + definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + +/***/ }), +/* 191 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(66); +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +/***/ }), +/* 192 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +module.exports = getBuiltIn('document', 'documentElement'); + +/***/ }), +/* 193 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var wellKnownSymbol = __w_pdfjs_require__(34); +var create = __w_pdfjs_require__(189); +var defineProperty = (__w_pdfjs_require__(45).f); +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +/***/ }), +/* 194 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaText = void 0; +__w_pdfjs_require__(89); +class XfaText { + static textContent(xfa) { + const items = []; + const output = { + items, + styles: Object.create(null) + }; + function walk(node) { + if (!node) { + return; + } + let str = null; + const name = node.name; + if (name === "#text") { + str = node.value; + } else if (!XfaText.shouldBuildText(name)) { + return; + } else if (node?.attributes?.textContent) { + str = node.attributes.textContent; + } else if (node.value) { + str = node.value; + } + if (str !== null) { + items.push({ + str + }); + } + if (!node.children) { + return; + } + for (const child of node.children) { + walk(child); + } + } + walk(xfa); + return output; + } + static shouldBuildText(name) { + return !(name === "textarea" || name === "input" || name === "option" || name === "select"); + } +} +exports.XfaText = XfaText; + +/***/ }), +/* 195 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TextLayerRenderTask = void 0; +exports.renderTextLayer = renderTextLayer; +exports.updateTextLayer = updateTextLayer; +__w_pdfjs_require__(89); +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +const MAX_TEXT_DIVS_TO_RENDER = 100000; +const DEFAULT_FONT_SIZE = 30; +const DEFAULT_FONT_ASCENT = 0.8; +const ascentCache = new Map(); +function getCtx(size, isOffscreenCanvasSupported) { + let ctx; + if (isOffscreenCanvasSupported && _util.FeatureTest.isOffscreenCanvasSupported) { + ctx = new OffscreenCanvas(size, size).getContext("2d", { + alpha: false + }); + } else { + const canvas = document.createElement("canvas"); + canvas.width = canvas.height = size; + ctx = canvas.getContext("2d", { + alpha: false + }); + } + return ctx; +} +function getAscent(fontFamily, isOffscreenCanvasSupported) { + const cachedAscent = ascentCache.get(fontFamily); + if (cachedAscent) { + return cachedAscent; + } + const ctx = getCtx(DEFAULT_FONT_SIZE, isOffscreenCanvasSupported); + ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`; + const metrics = ctx.measureText(""); + let ascent = metrics.fontBoundingBoxAscent; + let descent = Math.abs(metrics.fontBoundingBoxDescent); + if (ascent) { + const ratio = ascent / (ascent + descent); + ascentCache.set(fontFamily, ratio); + ctx.canvas.width = ctx.canvas.height = 0; + return ratio; + } + ctx.strokeStyle = "red"; + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("g", 0, 0); + let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + descent = 0; + for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) { + if (pixels[i] > 0) { + descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("A", 0, DEFAULT_FONT_SIZE); + pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + ascent = 0; + for (let i = 0, ii = pixels.length; i < ii; i += 4) { + if (pixels[i] > 0) { + ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + ctx.canvas.width = ctx.canvas.height = 0; + if (ascent) { + const ratio = ascent / (ascent + descent); + ascentCache.set(fontFamily, ratio); + return ratio; + } + ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT); + return DEFAULT_FONT_ASCENT; +} +function appendText(task, geom, styles) { + const textDiv = document.createElement("span"); + const textDivProperties = { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL, + fontSize: 0 + }; + task._textDivs.push(textDiv); + const tx = _util.Util.transform(task._transform, geom.transform); + let angle = Math.atan2(tx[1], tx[0]); + const style = styles[geom.fontName]; + if (style.vertical) { + angle += Math.PI / 2; + } + const fontHeight = Math.hypot(tx[2], tx[3]); + const fontAscent = fontHeight * getAscent(style.fontFamily, task._isOffscreenCanvasSupported); + let left, top; + if (angle === 0) { + left = tx[4]; + top = tx[5] - fontAscent; + } else { + left = tx[4] + fontAscent * Math.sin(angle); + top = tx[5] - fontAscent * Math.cos(angle); + } + const scaleFactorStr = "calc(var(--scale-factor)*"; + const divStyle = textDiv.style; + if (task._container === task._rootContainer) { + divStyle.left = `${(100 * left / task._pageWidth).toFixed(2)}%`; + divStyle.top = `${(100 * top / task._pageHeight).toFixed(2)}%`; + } else { + divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`; + divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`; + } + divStyle.fontSize = `${scaleFactorStr}${fontHeight.toFixed(2)}px)`; + divStyle.fontFamily = style.fontFamily; + textDivProperties.fontSize = fontHeight; + textDiv.setAttribute("role", "presentation"); + textDiv.textContent = geom.str; + textDiv.dir = geom.dir; + if (task._fontInspectorEnabled) { + textDiv.dataset.fontName = geom.fontName; + } + if (angle !== 0) { + textDivProperties.angle = angle * (180 / Math.PI); + } + let shouldScaleText = false; + if (geom.str.length > 1) { + shouldScaleText = true; + } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) { + const absScaleX = Math.abs(geom.transform[0]), + absScaleY = Math.abs(geom.transform[3]); + if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) { + shouldScaleText = true; + } + } + if (shouldScaleText) { + textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width; + } + task._textDivProperties.set(textDiv, textDivProperties); + if (task._isReadableStream) { + task._layoutText(textDiv); + } +} +function layout(params) { + const { + div, + scale, + properties, + ctx, + prevFontSize, + prevFontFamily + } = params; + const { + style + } = div; + let transform = ""; + if (properties.canvasWidth !== 0 && properties.hasText) { + const { + fontFamily + } = style; + const { + canvasWidth, + fontSize + } = properties; + if (prevFontSize !== fontSize || prevFontFamily !== fontFamily) { + ctx.font = `${fontSize * scale}px ${fontFamily}`; + params.prevFontSize = fontSize; + params.prevFontFamily = fontFamily; + } + const { + width + } = ctx.measureText(div.textContent); + if (width > 0) { + transform = `scaleX(${canvasWidth * scale / width})`; + } + } + if (properties.angle !== 0) { + transform = `rotate(${properties.angle}deg) ${transform}`; + } + if (transform.length > 0) { + style.transform = transform; + } +} +function render(task) { + if (task._canceled) { + return; + } + const textDivs = task._textDivs; + const capability = task._capability; + const textDivsLength = textDivs.length; + if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { + capability.resolve(); + return; + } + if (!task._isReadableStream) { + for (const textDiv of textDivs) { + task._layoutText(textDiv); + } + } + capability.resolve(); +} +class TextLayerRenderTask { + constructor(_ref) { + let { + textContentSource, + container, + viewport, + textDivs, + textDivProperties, + textContentItemsStr, + isOffscreenCanvasSupported + } = _ref; + this._textContentSource = textContentSource; + this._isReadableStream = textContentSource instanceof ReadableStream; + this._container = this._rootContainer = container; + this._textDivs = textDivs || []; + this._textContentItemsStr = textContentItemsStr || []; + this._isOffscreenCanvasSupported = isOffscreenCanvasSupported; + this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled; + this._reader = null; + this._textDivProperties = textDivProperties || new WeakMap(); + this._canceled = false; + this._capability = new _util.PromiseCapability(); + this._layoutTextParams = { + prevFontSize: null, + prevFontFamily: null, + div: null, + scale: viewport.scale * (globalThis.devicePixelRatio || 1), + properties: null, + ctx: getCtx(0, isOffscreenCanvasSupported) + }; + const { + pageWidth, + pageHeight, + pageX, + pageY + } = viewport.rawDims; + this._transform = [1, 0, 0, -1, -pageX, pageY + pageHeight]; + this._pageWidth = pageWidth; + this._pageHeight = pageHeight; + (0, _display_utils.setLayerDimensions)(container, viewport); + this._capability.promise.finally(() => { + this._layoutTextParams = null; + }).catch(() => {}); + } + get promise() { + return this._capability.promise; + } + cancel() { + this._canceled = true; + if (this._reader) { + this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")).catch(() => {}); + this._reader = null; + } + this._capability.reject(new _util.AbortException("TextLayer task cancelled.")); + } + _processItems(items, styleCache) { + for (const item of items) { + if (item.str === undefined) { + if (item.type === "beginMarkedContentProps" || item.type === "beginMarkedContent") { + const parent = this._container; + this._container = document.createElement("span"); + this._container.classList.add("markedContent"); + if (item.id !== null) { + this._container.setAttribute("id", `${item.id}`); + } + parent.append(this._container); + } else if (item.type === "endMarkedContent") { + this._container = this._container.parentNode; + } + continue; + } + this._textContentItemsStr.push(item.str); + appendText(this, item, styleCache); + } + } + _layoutText(textDiv) { + const textDivProperties = this._layoutTextParams.properties = this._textDivProperties.get(textDiv); + this._layoutTextParams.div = textDiv; + layout(this._layoutTextParams); + if (textDivProperties.hasText) { + this._container.append(textDiv); + } + if (textDivProperties.hasEOL) { + const br = document.createElement("br"); + br.setAttribute("role", "presentation"); + this._container.append(br); + } + } + _render() { + const capability = new _util.PromiseCapability(); + let styleCache = Object.create(null); + if (this._isReadableStream) { + const pump = () => { + this._reader.read().then(_ref2 => { + let { + value, + done + } = _ref2; + if (done) { + capability.resolve(); + return; + } + Object.assign(styleCache, value.styles); + this._processItems(value.items, styleCache); + pump(); + }, capability.reject); + }; + this._reader = this._textContentSource.getReader(); + pump(); + } else if (this._textContentSource) { + const { + items, + styles + } = this._textContentSource; + this._processItems(items, styles); + capability.resolve(); + } else { + throw new Error('No "textContentSource" parameter specified.'); + } + capability.promise.then(() => { + styleCache = null; + render(this); + }, this._capability.reject); + } +} +exports.TextLayerRenderTask = TextLayerRenderTask; +function renderTextLayer(params) { + if (!params.textContentSource && (params.textContent || params.textContentStream)) { + (0, _display_utils.deprecated)("The TextLayerRender `textContent`/`textContentStream` parameters " + "will be removed in the future, please use `textContentSource` instead."); + params.textContentSource = params.textContent || params.textContentStream; + } + const { + container, + viewport + } = params; + const style = getComputedStyle(container); + const visibility = style.getPropertyValue("visibility"); + const scaleFactor = parseFloat(style.getPropertyValue("--scale-factor")); + if (visibility === "visible" && (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-5)) { + console.error("The `--scale-factor` CSS-variable must be set, " + "to the same value as `viewport.scale`, " + "either on the `container`-element itself or higher up in the DOM."); + } + const task = new TextLayerRenderTask(params); + task._render(); + return task; +} +function updateTextLayer(_ref3) { + let { + container, + viewport, + textDivs, + textDivProperties, + isOffscreenCanvasSupported, + mustRotate = true, + mustRescale = true + } = _ref3; + if (mustRotate) { + (0, _display_utils.setLayerDimensions)(container, { + rotation: viewport.rotation + }); + } + if (mustRescale) { + const ctx = getCtx(0, isOffscreenCanvasSupported); + const scale = viewport.scale * (globalThis.devicePixelRatio || 1); + const params = { + prevFontSize: null, + prevFontFamily: null, + div: null, + scale, + properties: null, + ctx + }; + for (const div of textDivs) { + params.properties = textDivProperties.get(div); + params.div = div; + layout(params); + } + } +} + +/***/ }), +/* 196 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationEditorLayer = void 0; +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +var _util = __w_pdfjs_require__(1); +var _editor = __w_pdfjs_require__(164); +var _freetext = __w_pdfjs_require__(197); +var _ink = __w_pdfjs_require__(202); +var _display_utils = __w_pdfjs_require__(168); +var _stamp = __w_pdfjs_require__(203); +class AnnotationEditorLayer { + #accessibilityManager; + #allowClick = false; + #annotationLayer = null; + #boundPointerup = this.pointerup.bind(this); + #boundPointerdown = this.pointerdown.bind(this); + #editors = new Map(); + #hadPointerDown = false; + #isCleaningUp = false; + #isDisabling = false; + #uiManager; + static _initialized = false; + constructor(_ref) { + let { + uiManager, + pageIndex, + div, + accessibilityManager, + annotationLayer, + viewport, + l10n + } = _ref; + const editorTypes = [_freetext.FreeTextEditor, _ink.InkEditor, _stamp.StampEditor]; + if (!AnnotationEditorLayer._initialized) { + AnnotationEditorLayer._initialized = true; + for (const editorType of editorTypes) { + editorType.initialize(l10n); + } + } + uiManager.registerEditorTypes(editorTypes); + this.#uiManager = uiManager; + this.pageIndex = pageIndex; + this.div = div; + this.#accessibilityManager = accessibilityManager; + this.#annotationLayer = annotationLayer; + this.viewport = viewport; + this.#uiManager.addLayer(this); + } + get isEmpty() { + return this.#editors.size === 0; + } + updateToolbar(mode) { + this.#uiManager.updateToolbar(mode); + } + updateMode() { + let mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.#uiManager.getMode(); + this.#cleanup(); + if (mode === _util.AnnotationEditorType.INK) { + this.addInkEditorIfNeeded(false); + this.disableClick(); + } else { + this.enableClick(); + } + if (mode !== _util.AnnotationEditorType.NONE) { + this.div.classList.toggle("freeTextEditing", mode === _util.AnnotationEditorType.FREETEXT); + this.div.classList.toggle("inkEditing", mode === _util.AnnotationEditorType.INK); + this.div.classList.toggle("stampEditing", mode === _util.AnnotationEditorType.STAMP); + this.div.hidden = false; + } + } + addInkEditorIfNeeded(isCommitting) { + if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) { + return; + } + if (!isCommitting) { + for (const editor of this.#editors.values()) { + if (editor.isEmpty()) { + editor.setInBackground(); + return; + } + } + } + const editor = this.#createAndAddNewEditor({ + offsetX: 0, + offsetY: 0 + }, false); + editor.setInBackground(); + } + setEditingState(isEditing) { + this.#uiManager.setEditingState(isEditing); + } + addCommands(params) { + this.#uiManager.addCommands(params); + } + enable() { + this.div.style.pointerEvents = "auto"; + const annotationElementIds = new Set(); + for (const editor of this.#editors.values()) { + editor.enableEditing(); + if (editor.annotationElementId) { + annotationElementIds.add(editor.annotationElementId); + } + } + if (!this.#annotationLayer) { + return; + } + const editables = this.#annotationLayer.getEditableAnnotations(); + for (const editable of editables) { + editable.hide(); + if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) { + continue; + } + if (annotationElementIds.has(editable.data.id)) { + continue; + } + const editor = this.deserialize(editable); + if (!editor) { + continue; + } + this.addOrRebuild(editor); + editor.enableEditing(); + } + } + disable() { + this.#isDisabling = true; + this.div.style.pointerEvents = "none"; + const hiddenAnnotationIds = new Set(); + for (const editor of this.#editors.values()) { + editor.disableEditing(); + if (!editor.annotationElementId || editor.serialize() !== null) { + hiddenAnnotationIds.add(editor.annotationElementId); + continue; + } + this.getEditableAnnotation(editor.annotationElementId)?.show(); + editor.remove(); + } + if (this.#annotationLayer) { + const editables = this.#annotationLayer.getEditableAnnotations(); + for (const editable of editables) { + const { + id + } = editable.data; + if (hiddenAnnotationIds.has(id) || this.#uiManager.isDeletedAnnotationElement(id)) { + continue; + } + editable.show(); + } + } + this.#cleanup(); + if (this.isEmpty) { + this.div.hidden = true; + } + this.#isDisabling = false; + } + getEditableAnnotation(id) { + return this.#annotationLayer?.getEditableAnnotation(id) || null; + } + setActiveEditor(editor) { + const currentActive = this.#uiManager.getActive(); + if (currentActive === editor) { + return; + } + this.#uiManager.setActiveEditor(editor); + } + enableClick() { + this.div.addEventListener("pointerdown", this.#boundPointerdown); + this.div.addEventListener("pointerup", this.#boundPointerup); + } + disableClick() { + this.div.removeEventListener("pointerdown", this.#boundPointerdown); + this.div.removeEventListener("pointerup", this.#boundPointerup); + } + attach(editor) { + this.#editors.set(editor.id, editor); + const { + annotationElementId + } = editor; + if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) { + this.#uiManager.removeDeletedAnnotationElement(editor); + } + } + detach(editor) { + this.#editors.delete(editor.id); + this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv); + if (!this.#isDisabling && editor.annotationElementId) { + this.#uiManager.addDeletedAnnotationElement(editor); + } + } + remove(editor) { + this.detach(editor); + this.#uiManager.removeEditor(editor); + if (editor.div.contains(document.activeElement)) { + setTimeout(() => { + this.#uiManager.focusMainContainer(); + }, 0); + } + editor.div.remove(); + editor.isAttachedToDOM = false; + if (!this.#isCleaningUp) { + this.addInkEditorIfNeeded(false); + } + } + changeParent(editor) { + if (editor.parent === this) { + return; + } + if (editor.annotationElementId) { + this.#uiManager.addDeletedAnnotationElement(editor.annotationElementId); + _editor.AnnotationEditor.deleteAnnotationElement(editor); + editor.annotationElementId = null; + } + this.attach(editor); + editor.parent?.detach(editor); + editor.setParent(this); + if (editor.div && editor.isAttachedToDOM) { + editor.div.remove(); + this.div.append(editor.div); + } + } + add(editor) { + this.changeParent(editor); + this.#uiManager.addEditor(editor); + this.attach(editor); + if (!editor.isAttachedToDOM) { + const div = editor.render(); + this.div.append(div); + editor.isAttachedToDOM = true; + } + this.moveEditorInDOM(editor); + editor.onceAdded(); + this.#uiManager.addToAnnotationStorage(editor); + } + moveEditorInDOM(editor) { + if (!editor.isAttachedToDOM) { + return; + } + const { + activeElement + } = document; + if (editor.div.contains(activeElement)) { + editor._focusEventsAllowed = false; + setTimeout(() => { + editor.div.addEventListener("focusin", () => { + editor._focusEventsAllowed = true; + }, { + once: true + }); + activeElement.focus(); + }, 0); + } + this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true); + } + addOrRebuild(editor) { + if (editor.needsToBeRebuilt()) { + editor.rebuild(); + } else { + this.add(editor); + } + } + addUndoableEditor(editor) { + const cmd = () => editor._uiManager.rebuild(editor); + const undo = () => { + editor.remove(); + }; + this.addCommands({ + cmd, + undo, + mustExec: false + }); + } + getNextId() { + return this.#uiManager.getId(); + } + #createNewEditor(params) { + switch (this.#uiManager.getMode()) { + case _util.AnnotationEditorType.FREETEXT: + return new _freetext.FreeTextEditor(params); + case _util.AnnotationEditorType.INK: + return new _ink.InkEditor(params); + case _util.AnnotationEditorType.STAMP: + return new _stamp.StampEditor(params); + } + return null; + } + pasteEditor(mode, params) { + this.#uiManager.updateToolbar(mode); + this.#uiManager.updateMode(mode); + const { + offsetX, + offsetY + } = this.#getCenterPoint(); + const id = this.getNextId(); + const editor = this.#createNewEditor({ + parent: this, + id, + x: offsetX, + y: offsetY, + uiManager: this.#uiManager, + isCentered: true, + ...params + }); + if (editor) { + this.add(editor); + } + } + deserialize(data) { + switch (data.annotationType ?? data.annotationEditorType) { + case _util.AnnotationEditorType.FREETEXT: + return _freetext.FreeTextEditor.deserialize(data, this, this.#uiManager); + case _util.AnnotationEditorType.INK: + return _ink.InkEditor.deserialize(data, this, this.#uiManager); + case _util.AnnotationEditorType.STAMP: + return _stamp.StampEditor.deserialize(data, this, this.#uiManager); + } + return null; + } + #createAndAddNewEditor(event, isCentered) { + const id = this.getNextId(); + const editor = this.#createNewEditor({ + parent: this, + id, + x: event.offsetX, + y: event.offsetY, + uiManager: this.#uiManager, + isCentered + }); + if (editor) { + this.add(editor); + } + return editor; + } + #getCenterPoint() { + const { + x, + y, + width, + height + } = this.div.getBoundingClientRect(); + const tlX = Math.max(0, x); + const tlY = Math.max(0, y); + const brX = Math.min(window.innerWidth, x + width); + const brY = Math.min(window.innerHeight, y + height); + const centerX = (tlX + brX) / 2 - x; + const centerY = (tlY + brY) / 2 - y; + const [offsetX, offsetY] = this.viewport.rotation % 180 === 0 ? [centerX, centerY] : [centerY, centerX]; + return { + offsetX, + offsetY + }; + } + addNewEditor() { + this.#createAndAddNewEditor(this.#getCenterPoint(), true); + } + setSelected(editor) { + this.#uiManager.setSelected(editor); + } + toggleSelected(editor) { + this.#uiManager.toggleSelected(editor); + } + isSelected(editor) { + return this.#uiManager.isSelected(editor); + } + unselect(editor) { + this.#uiManager.unselect(editor); + } + pointerup(event) { + const { + isMac + } = _util.FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + if (event.target !== this.div) { + return; + } + if (!this.#hadPointerDown) { + return; + } + this.#hadPointerDown = false; + if (!this.#allowClick) { + this.#allowClick = true; + return; + } + if (this.#uiManager.getMode() === _util.AnnotationEditorType.STAMP) { + this.#uiManager.unselectAll(); + return; + } + this.#createAndAddNewEditor(event, false); + } + pointerdown(event) { + if (this.#hadPointerDown) { + this.#hadPointerDown = false; + return; + } + const { + isMac + } = _util.FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + if (event.target !== this.div) { + return; + } + this.#hadPointerDown = true; + const editor = this.#uiManager.getActive(); + this.#allowClick = !editor || editor.isEmpty(); + } + findNewParent(editor, x, y) { + const layer = this.#uiManager.findParent(x, y); + if (layer === null || layer === this) { + return false; + } + layer.changeParent(editor); + return true; + } + destroy() { + if (this.#uiManager.getActive()?.parent === this) { + this.#uiManager.setActiveEditor(null); + } + for (const editor of this.#editors.values()) { + this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv); + editor.setParent(null); + editor.isAttachedToDOM = false; + editor.div.remove(); + } + this.div = null; + this.#editors.clear(); + this.#uiManager.removeLayer(this); + } + #cleanup() { + this.#isCleaningUp = true; + for (const editor of this.#editors.values()) { + if (editor.isEmpty()) { + editor.remove(); + } + } + this.#isCleaningUp = false; + } + render(_ref2) { + let { + viewport + } = _ref2; + this.viewport = viewport; + (0, _display_utils.setLayerDimensions)(this.div, viewport); + for (const editor of this.#uiManager.getEditors(this.pageIndex)) { + this.add(editor); + } + this.updateMode(); + } + update(_ref3) { + let { + viewport + } = _ref3; + this.#uiManager.commitOrRemove(); + this.viewport = viewport; + (0, _display_utils.setLayerDimensions)(this.div, { + rotation: viewport.rotation + }); + this.updateMode(); + } + get pageDimensions() { + const { + pageWidth, + pageHeight + } = this.viewport.rawDims; + return [pageWidth, pageHeight]; + } +} +exports.AnnotationEditorLayer = AnnotationEditorLayer; + +/***/ }), +/* 197 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.FreeTextEditor = void 0; +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _tools = __w_pdfjs_require__(165); +var _editor = __w_pdfjs_require__(164); +var _annotation_layer = __w_pdfjs_require__(198); +class FreeTextEditor extends _editor.AnnotationEditor { + #boundEditorDivBlur = this.editorDivBlur.bind(this); + #boundEditorDivFocus = this.editorDivFocus.bind(this); + #boundEditorDivInput = this.editorDivInput.bind(this); + #boundEditorDivKeydown = this.editorDivKeydown.bind(this); + #color; + #content = ""; + #editorDivId = `${this.id}-editor`; + #fontSize; + #initialData = null; + static _freeTextDefaultContent = ""; + static _l10nPromise; + static _internalPadding = 0; + static _defaultColor = null; + static _defaultFontSize = 10; + static get _keyboardManager() { + const proto = FreeTextEditor.prototype; + const arrowChecker = self => self.isEmpty(); + const small = _tools.AnnotationEditorUIManager.TRANSLATE_SMALL; + const big = _tools.AnnotationEditorUIManager.TRANSLATE_BIG; + return (0, _util.shadow)(this, "_keyboardManager", new _tools.KeyboardManager([[["ctrl+s", "mac+meta+s", "ctrl+p", "mac+meta+p"], proto.commitOrRemove, { + bubbles: true + }], [["ctrl+Enter", "mac+meta+Enter", "Escape", "mac+Escape"], proto.commitOrRemove], [["ArrowLeft", "mac+ArrowLeft"], proto._translateEmpty, { + args: [-small, 0], + checker: arrowChecker + }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], proto._translateEmpty, { + args: [-big, 0], + checker: arrowChecker + }], [["ArrowRight", "mac+ArrowRight"], proto._translateEmpty, { + args: [small, 0], + checker: arrowChecker + }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], proto._translateEmpty, { + args: [big, 0], + checker: arrowChecker + }], [["ArrowUp", "mac+ArrowUp"], proto._translateEmpty, { + args: [0, -small], + checker: arrowChecker + }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], proto._translateEmpty, { + args: [0, -big], + checker: arrowChecker + }], [["ArrowDown", "mac+ArrowDown"], proto._translateEmpty, { + args: [0, small], + checker: arrowChecker + }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], proto._translateEmpty, { + args: [0, big], + checker: arrowChecker + }]])); + } + static _type = "freetext"; + constructor(params) { + super({ + ...params, + name: "freeTextEditor" + }); + this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor; + this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize; + } + static initialize(l10n) { + this._l10nPromise = new Map(["free_text2_default_content", "editor_free_text2_aria_label"].map(str => [str, l10n.get(str)])); + const style = getComputedStyle(document.documentElement); + this._internalPadding = parseFloat(style.getPropertyValue("--freetext-padding")); + } + static updateDefaultParams(type, value) { + switch (type) { + case _util.AnnotationEditorParamsType.FREETEXT_SIZE: + FreeTextEditor._defaultFontSize = value; + break; + case _util.AnnotationEditorParamsType.FREETEXT_COLOR: + FreeTextEditor._defaultColor = value; + break; + } + } + updateParams(type, value) { + switch (type) { + case _util.AnnotationEditorParamsType.FREETEXT_SIZE: + this.#updateFontSize(value); + break; + case _util.AnnotationEditorParamsType.FREETEXT_COLOR: + this.#updateColor(value); + break; + } + } + static get defaultPropertiesToUpdate() { + return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]]; + } + get propertiesToUpdate() { + return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]]; + } + #updateFontSize(fontSize) { + const setFontsize = size => { + this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`; + this.translate(0, -(size - this.#fontSize) * this.parentScale); + this.#fontSize = size; + this.#setEditorDimensions(); + }; + const savedFontsize = this.#fontSize; + this.addCommands({ + cmd: () => { + setFontsize(fontSize); + }, + undo: () => { + setFontsize(savedFontsize); + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.FREETEXT_SIZE, + overwriteIfSameType: true, + keepUndo: true + }); + } + #updateColor(color) { + const savedColor = this.#color; + this.addCommands({ + cmd: () => { + this.#color = this.editorDiv.style.color = color; + }, + undo: () => { + this.#color = this.editorDiv.style.color = savedColor; + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.FREETEXT_COLOR, + overwriteIfSameType: true, + keepUndo: true + }); + } + _translateEmpty(x, y) { + this._uiManager.translateSelectedEditors(x, y, true); + } + getInitialTranslation() { + const scale = this.parentScale; + return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale]; + } + rebuild() { + if (!this.parent) { + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + if (!this.isAttachedToDOM) { + this.parent.add(this); + } + } + enableEditMode() { + if (this.isInEditMode()) { + return; + } + this.parent.setEditingState(false); + this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT); + super.enableEditMode(); + this.overlayDiv.classList.remove("enabled"); + this.editorDiv.contentEditable = true; + this._isDraggable = false; + this.div.removeAttribute("aria-activedescendant"); + this.editorDiv.addEventListener("keydown", this.#boundEditorDivKeydown); + this.editorDiv.addEventListener("focus", this.#boundEditorDivFocus); + this.editorDiv.addEventListener("blur", this.#boundEditorDivBlur); + this.editorDiv.addEventListener("input", this.#boundEditorDivInput); + } + disableEditMode() { + if (!this.isInEditMode()) { + return; + } + this.parent.setEditingState(true); + super.disableEditMode(); + this.overlayDiv.classList.add("enabled"); + this.editorDiv.contentEditable = false; + this.div.setAttribute("aria-activedescendant", this.#editorDivId); + this._isDraggable = true; + this.editorDiv.removeEventListener("keydown", this.#boundEditorDivKeydown); + this.editorDiv.removeEventListener("focus", this.#boundEditorDivFocus); + this.editorDiv.removeEventListener("blur", this.#boundEditorDivBlur); + this.editorDiv.removeEventListener("input", this.#boundEditorDivInput); + this.div.focus({ + preventScroll: true + }); + this.isEditing = false; + this.parent.div.classList.add("freeTextEditing"); + } + focusin(event) { + if (!this._focusEventsAllowed) { + return; + } + super.focusin(event); + if (event.target !== this.editorDiv) { + this.editorDiv.focus(); + } + } + onceAdded() { + if (this.width) { + this.#cheatInitialRect(); + return; + } + this.enableEditMode(); + this.editorDiv.focus(); + if (this._initialOptions?.isCentered) { + this.center(); + } + this._initialOptions = null; + } + isEmpty() { + return !this.editorDiv || this.editorDiv.innerText.trim() === ""; + } + remove() { + this.isEditing = false; + if (this.parent) { + this.parent.setEditingState(true); + this.parent.div.classList.add("freeTextEditing"); + } + super.remove(); + } + #extractText() { + const divs = this.editorDiv.getElementsByTagName("div"); + if (divs.length === 0) { + return this.editorDiv.innerText; + } + const buffer = []; + for (const div of divs) { + buffer.push(div.innerText.replace(/\r\n?|\n/, "")); + } + return buffer.join("\n"); + } + #setEditorDimensions() { + const [parentWidth, parentHeight] = this.parentDimensions; + let rect; + if (this.isAttachedToDOM) { + rect = this.div.getBoundingClientRect(); + } else { + const { + currentLayer, + div + } = this; + const savedDisplay = div.style.display; + div.style.display = "hidden"; + currentLayer.div.append(this.div); + rect = div.getBoundingClientRect(); + div.remove(); + div.style.display = savedDisplay; + } + if (this.rotation % 180 === this.parentRotation % 180) { + this.width = rect.width / parentWidth; + this.height = rect.height / parentHeight; + } else { + this.width = rect.height / parentWidth; + this.height = rect.width / parentHeight; + } + this.fixAndSetPosition(); + } + commit() { + if (!this.isInEditMode()) { + return; + } + super.commit(); + this.disableEditMode(); + const savedText = this.#content; + const newText = this.#content = this.#extractText().trimEnd(); + if (savedText === newText) { + return; + } + const setText = text => { + this.#content = text; + if (!text) { + this.remove(); + return; + } + this.#setContent(); + this._uiManager.rebuild(this); + this.#setEditorDimensions(); + }; + this.addCommands({ + cmd: () => { + setText(newText); + }, + undo: () => { + setText(savedText); + }, + mustExec: false + }); + this.#setEditorDimensions(); + } + shouldGetKeyboardEvents() { + return this.isInEditMode(); + } + enterInEditMode() { + this.enableEditMode(); + this.editorDiv.focus(); + } + dblclick(event) { + this.enterInEditMode(); + } + keydown(event) { + if (event.target === this.div && event.key === "Enter") { + this.enterInEditMode(); + event.preventDefault(); + } + } + editorDivKeydown(event) { + FreeTextEditor._keyboardManager.exec(this, event); + } + editorDivFocus(event) { + this.isEditing = true; + } + editorDivBlur(event) { + this.isEditing = false; + } + editorDivInput(event) { + this.parent.div.classList.toggle("freeTextEditing", this.isEmpty()); + } + disableEditing() { + this.editorDiv.setAttribute("role", "comment"); + this.editorDiv.removeAttribute("aria-multiline"); + } + enableEditing() { + this.editorDiv.setAttribute("role", "textbox"); + this.editorDiv.setAttribute("aria-multiline", true); + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this.width) { + baseX = this.x; + baseY = this.y; + } + super.render(); + this.editorDiv = document.createElement("div"); + this.editorDiv.className = "internal"; + this.editorDiv.setAttribute("id", this.#editorDivId); + this.enableEditing(); + FreeTextEditor._l10nPromise.get("editor_free_text2_aria_label").then(msg => this.editorDiv?.setAttribute("aria-label", msg)); + FreeTextEditor._l10nPromise.get("free_text2_default_content").then(msg => this.editorDiv?.setAttribute("default-content", msg)); + this.editorDiv.contentEditable = true; + const { + style + } = this.editorDiv; + style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`; + style.color = this.#color; + this.div.append(this.editorDiv); + this.overlayDiv = document.createElement("div"); + this.overlayDiv.classList.add("overlay", "enabled"); + this.div.append(this.overlayDiv); + (0, _tools.bindEvents)(this, this.div, ["dblclick", "keydown"]); + if (this.width) { + const [parentWidth, parentHeight] = this.parentDimensions; + if (this.annotationElementId) { + const { + position + } = this.#initialData; + let [tx, ty] = this.getInitialTranslation(); + [tx, ty] = this.pageTranslationToScreen(tx, ty); + const [pageWidth, pageHeight] = this.pageDimensions; + const [pageX, pageY] = this.pageTranslation; + let posX, posY; + switch (this.rotation) { + case 0: + posX = baseX + (position[0] - pageX) / pageWidth; + posY = baseY + this.height - (position[1] - pageY) / pageHeight; + break; + case 90: + posX = baseX + (position[0] - pageX) / pageWidth; + posY = baseY - (position[1] - pageY) / pageHeight; + [tx, ty] = [ty, -tx]; + break; + case 180: + posX = baseX - this.width + (position[0] - pageX) / pageWidth; + posY = baseY - (position[1] - pageY) / pageHeight; + [tx, ty] = [-tx, -ty]; + break; + case 270: + posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth; + posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight; + [tx, ty] = [-ty, tx]; + break; + } + this.setAt(posX * parentWidth, posY * parentHeight, tx, ty); + } else { + this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); + } + this.#setContent(); + this._isDraggable = true; + this.editorDiv.contentEditable = false; + } else { + this._isDraggable = false; + this.editorDiv.contentEditable = true; + } + return this.div; + } + #setContent() { + this.editorDiv.replaceChildren(); + if (!this.#content) { + return; + } + for (const line of this.#content.split("\n")) { + const div = document.createElement("div"); + div.append(line ? document.createTextNode(line) : document.createElement("br")); + this.editorDiv.append(div); + } + } + get contentDiv() { + return this.editorDiv; + } + static deserialize(data, parent, uiManager) { + let initialData = null; + if (data instanceof _annotation_layer.FreeTextAnnotationElement) { + const { + data: { + defaultAppearanceData: { + fontSize, + fontColor + }, + rect, + rotation, + id + }, + textContent, + textPosition, + parent: { + page: { + pageNumber + } + } + } = data; + if (!textContent || textContent.length === 0) { + return null; + } + initialData = data = { + annotationType: _util.AnnotationEditorType.FREETEXT, + color: Array.from(fontColor), + fontSize, + value: textContent.join("\n"), + position: textPosition, + pageIndex: pageNumber - 1, + rect, + rotation, + id, + deleted: false + }; + } + const editor = super.deserialize(data, parent, uiManager); + editor.#fontSize = data.fontSize; + editor.#color = _util.Util.makeHexColor(...data.color); + editor.#content = data.value; + editor.annotationElementId = data.id || null; + editor.#initialData = initialData; + return editor; + } + serialize() { + let isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.isEmpty()) { + return null; + } + if (this.deleted) { + return { + pageIndex: this.pageIndex, + id: this.annotationElementId, + deleted: true + }; + } + const padding = FreeTextEditor._internalPadding * this.parentScale; + const rect = this.getRect(padding, padding); + const color = _editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color); + const serialized = { + annotationType: _util.AnnotationEditorType.FREETEXT, + color, + fontSize: this.#fontSize, + value: this.#content, + pageIndex: this.pageIndex, + rect, + rotation: this.rotation + }; + if (isForCopying) { + return serialized; + } + if (this.annotationElementId && !this.#hasElementChanged(serialized)) { + return null; + } + serialized.id = this.annotationElementId; + return serialized; + } + #hasElementChanged(serialized) { + const { + value, + fontSize, + color, + rect, + pageIndex + } = this.#initialData; + return serialized.value !== value || serialized.fontSize !== fontSize || serialized.rect.some((x, i) => Math.abs(x - rect[i]) >= 1) || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex; + } + #cheatInitialRect() { + let delayed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (!this.annotationElementId) { + return; + } + this.#setEditorDimensions(); + if (!delayed && (this.width === 0 || this.height === 0)) { + setTimeout(() => this.#cheatInitialRect(true), 0); + return; + } + const padding = FreeTextEditor._internalPadding * this.parentScale; + this.#initialData.rect = this.getRect(padding, padding); + } +} +exports.FreeTextEditor = FreeTextEditor; + +/***/ }), +/* 198 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StampAnnotationElement = exports.InkAnnotationElement = exports.FreeTextAnnotationElement = exports.AnnotationLayer = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +var _annotation_storage = __w_pdfjs_require__(163); +var _scripting_utils = __w_pdfjs_require__(199); +var _displayL10n_utils = __w_pdfjs_require__(200); +var _xfa_layer = __w_pdfjs_require__(201); +const DEFAULT_TAB_INDEX = 1000; +const DEFAULT_FONT_SIZE = 9; +const GetElementsByNameSet = new WeakSet(); +function getRectDims(rect) { + return { + width: rect[2] - rect[0], + height: rect[3] - rect[1] + }; +} +class AnnotationElementFactory { + static create(parameters) { + const subtype = parameters.data.annotationType; + switch (subtype) { + case _util.AnnotationType.LINK: + return new LinkAnnotationElement(parameters); + case _util.AnnotationType.TEXT: + return new TextAnnotationElement(parameters); + case _util.AnnotationType.WIDGET: + const fieldType = parameters.data.fieldType; + switch (fieldType) { + case "Tx": + return new TextWidgetAnnotationElement(parameters); + case "Btn": + if (parameters.data.radioButton) { + return new RadioButtonWidgetAnnotationElement(parameters); + } else if (parameters.data.checkBox) { + return new CheckboxWidgetAnnotationElement(parameters); + } + return new PushButtonWidgetAnnotationElement(parameters); + case "Ch": + return new ChoiceWidgetAnnotationElement(parameters); + case "Sig": + return new SignatureWidgetAnnotationElement(parameters); + } + return new WidgetAnnotationElement(parameters); + case _util.AnnotationType.POPUP: + return new PopupAnnotationElement(parameters); + case _util.AnnotationType.FREETEXT: + return new FreeTextAnnotationElement(parameters); + case _util.AnnotationType.LINE: + return new LineAnnotationElement(parameters); + case _util.AnnotationType.SQUARE: + return new SquareAnnotationElement(parameters); + case _util.AnnotationType.CIRCLE: + return new CircleAnnotationElement(parameters); + case _util.AnnotationType.POLYLINE: + return new PolylineAnnotationElement(parameters); + case _util.AnnotationType.CARET: + return new CaretAnnotationElement(parameters); + case _util.AnnotationType.INK: + return new InkAnnotationElement(parameters); + case _util.AnnotationType.POLYGON: + return new PolygonAnnotationElement(parameters); + case _util.AnnotationType.HIGHLIGHT: + return new HighlightAnnotationElement(parameters); + case _util.AnnotationType.UNDERLINE: + return new UnderlineAnnotationElement(parameters); + case _util.AnnotationType.SQUIGGLY: + return new SquigglyAnnotationElement(parameters); + case _util.AnnotationType.STRIKEOUT: + return new StrikeOutAnnotationElement(parameters); + case _util.AnnotationType.STAMP: + return new StampAnnotationElement(parameters); + case _util.AnnotationType.FILEATTACHMENT: + return new FileAttachmentAnnotationElement(parameters); + default: + return new AnnotationElement(parameters); + } + } +} +class AnnotationElement { + #hasBorder = false; + constructor(parameters) { + let { + isRenderable = false, + ignoreBorder = false, + createQuadrilaterals = false + } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.isRenderable = isRenderable; + this.data = parameters.data; + this.layer = parameters.layer; + this.linkService = parameters.linkService; + this.downloadManager = parameters.downloadManager; + this.imageResourcesPath = parameters.imageResourcesPath; + this.renderForms = parameters.renderForms; + this.svgFactory = parameters.svgFactory; + this.annotationStorage = parameters.annotationStorage; + this.enableScripting = parameters.enableScripting; + this.hasJSActions = parameters.hasJSActions; + this._fieldObjects = parameters.fieldObjects; + this.parent = parameters.parent; + if (isRenderable) { + this.container = this._createContainer(ignoreBorder); + } + if (createQuadrilaterals) { + this._createQuadrilaterals(); + } + } + _createContainer(ignoreBorder) { + const { + data, + parent: { + page, + viewport + } + } = this; + const container = document.createElement("section"); + container.setAttribute("data-annotation-id", data.id); + container.style.zIndex = this.parent.zIndex++; + if (this.data.popupRef) { + container.setAttribute("aria-haspopup", "dialog"); + } + if (data.noRotate) { + container.classList.add("norotate"); + } + const { + pageWidth, + pageHeight, + pageX, + pageY + } = viewport.rawDims; + if (!data.rect || this instanceof PopupAnnotationElement) { + const { + rotation + } = data; + if (!data.hasOwnCanvas && rotation !== 0) { + this.setRotation(rotation, container); + } + return container; + } + const { + width, + height + } = getRectDims(data.rect); + const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); + if (!ignoreBorder && data.borderStyle.width > 0) { + container.style.borderWidth = `${data.borderStyle.width}px`; + const horizontalRadius = data.borderStyle.horizontalCornerRadius; + const verticalRadius = data.borderStyle.verticalCornerRadius; + if (horizontalRadius > 0 || verticalRadius > 0) { + const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`; + container.style.borderRadius = radius; + } else if (this instanceof RadioButtonWidgetAnnotationElement) { + const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`; + container.style.borderRadius = radius; + } + switch (data.borderStyle.style) { + case _util.AnnotationBorderStyleType.SOLID: + container.style.borderStyle = "solid"; + break; + case _util.AnnotationBorderStyleType.DASHED: + container.style.borderStyle = "dashed"; + break; + case _util.AnnotationBorderStyleType.BEVELED: + (0, _util.warn)("Unimplemented border style: beveled"); + break; + case _util.AnnotationBorderStyleType.INSET: + (0, _util.warn)("Unimplemented border style: inset"); + break; + case _util.AnnotationBorderStyleType.UNDERLINE: + container.style.borderBottomStyle = "solid"; + break; + default: + break; + } + const borderColor = data.borderColor || null; + if (borderColor) { + this.#hasBorder = true; + container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0); + } else { + container.style.borderWidth = 0; + } + } + container.style.left = `${100 * (rect[0] - pageX) / pageWidth}%`; + container.style.top = `${100 * (rect[1] - pageY) / pageHeight}%`; + const { + rotation + } = data; + if (data.hasOwnCanvas || rotation === 0) { + container.style.width = `${100 * width / pageWidth}%`; + container.style.height = `${100 * height / pageHeight}%`; + } else { + this.setRotation(rotation, container); + } + return container; + } + setRotation(angle) { + let container = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.container; + if (!this.data.rect) { + return; + } + const { + pageWidth, + pageHeight + } = this.parent.viewport.rawDims; + const { + width, + height + } = getRectDims(this.data.rect); + let elementWidth, elementHeight; + if (angle % 180 === 0) { + elementWidth = 100 * width / pageWidth; + elementHeight = 100 * height / pageHeight; + } else { + elementWidth = 100 * height / pageWidth; + elementHeight = 100 * width / pageHeight; + } + container.style.width = `${elementWidth}%`; + container.style.height = `${elementHeight}%`; + container.setAttribute("data-main-rotation", (360 - angle) % 360); + } + get _commonActions() { + const setColor = (jsName, styleName, event) => { + const color = event.detail[jsName]; + const colorType = color[0]; + const colorArray = color.slice(1); + event.target.style[styleName] = _scripting_utils.ColorConverters[`${colorType}_HTML`](colorArray); + this.annotationStorage.setValue(this.data.id, { + [styleName]: _scripting_utils.ColorConverters[`${colorType}_rgb`](colorArray) + }); + }; + return (0, _util.shadow)(this, "_commonActions", { + display: event => { + const { + display + } = event.detail; + const hidden = display % 2 === 1; + this.container.style.visibility = hidden ? "hidden" : "visible"; + this.annotationStorage.setValue(this.data.id, { + noView: hidden, + noPrint: display === 1 || display === 2 + }); + }, + print: event => { + this.annotationStorage.setValue(this.data.id, { + noPrint: !event.detail.print + }); + }, + hidden: event => { + const { + hidden + } = event.detail; + this.container.style.visibility = hidden ? "hidden" : "visible"; + this.annotationStorage.setValue(this.data.id, { + noPrint: hidden, + noView: hidden + }); + }, + focus: event => { + setTimeout(() => event.target.focus({ + preventScroll: false + }), 0); + }, + userName: event => { + event.target.title = event.detail.userName; + }, + readonly: event => { + event.target.disabled = event.detail.readonly; + }, + required: event => { + this._setRequired(event.target, event.detail.required); + }, + bgColor: event => { + setColor("bgColor", "backgroundColor", event); + }, + fillColor: event => { + setColor("fillColor", "backgroundColor", event); + }, + fgColor: event => { + setColor("fgColor", "color", event); + }, + textColor: event => { + setColor("textColor", "color", event); + }, + borderColor: event => { + setColor("borderColor", "borderColor", event); + }, + strokeColor: event => { + setColor("strokeColor", "borderColor", event); + }, + rotation: event => { + const angle = event.detail.rotation; + this.setRotation(angle); + this.annotationStorage.setValue(this.data.id, { + rotation: angle + }); + } + }); + } + _dispatchEventFromSandbox(actions, jsEvent) { + const commonActions = this._commonActions; + for (const name of Object.keys(jsEvent.detail)) { + const action = actions[name] || commonActions[name]; + action?.(jsEvent); + } + } + _setDefaultPropertiesFromJS(element) { + if (!this.enableScripting) { + return; + } + const storedData = this.annotationStorage.getRawValue(this.data.id); + if (!storedData) { + return; + } + const commonActions = this._commonActions; + for (const [actionName, detail] of Object.entries(storedData)) { + const action = commonActions[actionName]; + if (action) { + const eventProxy = { + detail: { + [actionName]: detail + }, + target: element + }; + action(eventProxy); + delete storedData[actionName]; + } + } + } + _createQuadrilaterals() { + if (!this.container) { + return; + } + const { + quadPoints + } = this.data; + if (!quadPoints) { + return; + } + const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect; + if (quadPoints.length === 1) { + const [, { + x: trX, + y: trY + }, { + x: blX, + y: blY + }] = quadPoints[0]; + if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) { + return; + } + } + const { + style + } = this.container; + let svgBuffer; + if (this.#hasBorder) { + const { + borderColor, + borderWidth + } = style; + style.borderWidth = 0; + svgBuffer = ["url('data:image/svg+xml;utf8,", ``, ``]; + this.container.classList.add("hasBorder"); + } + const width = rectTrX - rectBlX; + const height = rectTrY - rectBlY; + const { + svgFactory + } = this; + const svg = svgFactory.createElement("svg"); + svg.classList.add("quadrilateralsContainer"); + svg.setAttribute("width", 0); + svg.setAttribute("height", 0); + const defs = svgFactory.createElement("defs"); + svg.append(defs); + const clipPath = svgFactory.createElement("clipPath"); + const id = `clippath_${this.data.id}`; + clipPath.setAttribute("id", id); + clipPath.setAttribute("clipPathUnits", "objectBoundingBox"); + defs.append(clipPath); + for (const [, { + x: trX, + y: trY + }, { + x: blX, + y: blY + }] of quadPoints) { + const rect = svgFactory.createElement("rect"); + const x = (blX - rectBlX) / width; + const y = (rectTrY - trY) / height; + const rectWidth = (trX - blX) / width; + const rectHeight = (trY - blY) / height; + rect.setAttribute("x", x); + rect.setAttribute("y", y); + rect.setAttribute("width", rectWidth); + rect.setAttribute("height", rectHeight); + clipPath.append(rect); + svgBuffer?.push(``); + } + if (this.#hasBorder) { + svgBuffer.push(`')`); + style.backgroundImage = svgBuffer.join(""); + } + this.container.append(svg); + this.container.style.clipPath = `url(#${id})`; + } + _createPopup() { + const { + container, + data + } = this; + container.setAttribute("aria-haspopup", "dialog"); + const popup = new PopupAnnotationElement({ + data: { + color: data.color, + titleObj: data.titleObj, + modificationDate: data.modificationDate, + contentsObj: data.contentsObj, + richText: data.richText, + parentRect: data.rect, + borderStyle: 0, + id: `popup_${data.id}`, + rotation: data.rotation + }, + parent: this.parent, + elements: [this] + }); + this.parent.div.append(popup.render()); + } + render() { + (0, _util.unreachable)("Abstract method `AnnotationElement.render` called"); + } + _getElementsByName(name) { + let skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const fields = []; + if (this._fieldObjects) { + const fieldObj = this._fieldObjects[name]; + if (fieldObj) { + for (const { + page, + id, + exportValues + } of fieldObj) { + if (page === -1) { + continue; + } + if (id === skipId) { + continue; + } + const exportValue = typeof exportValues === "string" ? exportValues : null; + const domElement = document.querySelector(`[data-element-id="${id}"]`); + if (domElement && !GetElementsByNameSet.has(domElement)) { + (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`); + continue; + } + fields.push({ + id, + exportValue, + domElement + }); + } + } + return fields; + } + for (const domElement of document.getElementsByName(name)) { + const { + exportValue + } = domElement; + const id = domElement.getAttribute("data-element-id"); + if (id === skipId) { + continue; + } + if (!GetElementsByNameSet.has(domElement)) { + continue; + } + fields.push({ + id, + exportValue, + domElement + }); + } + return fields; + } + show() { + if (this.container) { + this.container.hidden = false; + } + this.popup?.maybeShow(); + } + hide() { + if (this.container) { + this.container.hidden = true; + } + this.popup?.forceHide(); + } + getElementsToTriggerPopup() { + return this.container; + } + addHighlightArea() { + const triggers = this.getElementsToTriggerPopup(); + if (Array.isArray(triggers)) { + for (const element of triggers) { + element.classList.add("highlightArea"); + } + } else { + triggers.classList.add("highlightArea"); + } + } + _editOnDoubleClick() { + const { + annotationEditorType: mode, + data: { + id: editId + } + } = this; + this.container.addEventListener("dblclick", () => { + this.linkService.eventBus?.dispatch("switchannotationeditormode", { + source: this, + mode, + editId + }); + }); + } +} +class LinkAnnotationElement extends AnnotationElement { + constructor(parameters) { + let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + super(parameters, { + isRenderable: true, + ignoreBorder: !!options?.ignoreBorder, + createQuadrilaterals: true + }); + this.isTooltipOnly = parameters.data.isTooltipOnly; + } + render() { + const { + data, + linkService + } = this; + const link = document.createElement("a"); + link.setAttribute("data-element-id", data.id); + let isBound = false; + if (data.url) { + linkService.addLinkAttributes(link, data.url, data.newWindow); + isBound = true; + } else if (data.action) { + this._bindNamedAction(link, data.action); + isBound = true; + } else if (data.attachment) { + this._bindAttachment(link, data.attachment); + isBound = true; + } else if (data.setOCGState) { + this.#bindSetOCGState(link, data.setOCGState); + isBound = true; + } else if (data.dest) { + this._bindLink(link, data.dest); + isBound = true; + } else { + if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) { + this._bindJSAction(link, data); + isBound = true; + } + if (data.resetForm) { + this._bindResetFormAction(link, data.resetForm); + isBound = true; + } else if (this.isTooltipOnly && !isBound) { + this._bindLink(link, ""); + isBound = true; + } + } + this.container.classList.add("linkAnnotation"); + if (isBound) { + this.container.append(link); + } + return this.container; + } + #setInternalLink() { + this.container.setAttribute("data-internal-link", ""); + } + _bindLink(link, destination) { + link.href = this.linkService.getDestinationHash(destination); + link.onclick = () => { + if (destination) { + this.linkService.goToDestination(destination); + } + return false; + }; + if (destination || destination === "") { + this.#setInternalLink(); + } + } + _bindNamedAction(link, action) { + link.href = this.linkService.getAnchorUrl(""); + link.onclick = () => { + this.linkService.executeNamedAction(action); + return false; + }; + this.#setInternalLink(); + } + _bindAttachment(link, attachment) { + link.href = this.linkService.getAnchorUrl(""); + link.onclick = () => { + this.downloadManager?.openOrDownloadData(this.container, attachment.content, attachment.filename); + return false; + }; + this.#setInternalLink(); + } + #bindSetOCGState(link, action) { + link.href = this.linkService.getAnchorUrl(""); + link.onclick = () => { + this.linkService.executeSetOCGState(action); + return false; + }; + this.#setInternalLink(); + } + _bindJSAction(link, data) { + link.href = this.linkService.getAnchorUrl(""); + const map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]); + for (const name of Object.keys(data.actions)) { + const jsName = map.get(name); + if (!jsName) { + continue; + } + link[jsName] = () => { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: data.id, + name + } + }); + return false; + }; + } + if (!link.onclick) { + link.onclick = () => false; + } + this.#setInternalLink(); + } + _bindResetFormAction(link, resetForm) { + const otherClickAction = link.onclick; + if (!otherClickAction) { + link.href = this.linkService.getAnchorUrl(""); + } + this.#setInternalLink(); + if (!this._fieldObjects) { + (0, _util.warn)(`_bindResetFormAction - "resetForm" action not supported, ` + "ensure that the `fieldObjects` parameter is provided."); + if (!otherClickAction) { + link.onclick = () => false; + } + return; + } + link.onclick = () => { + otherClickAction?.(); + const { + fields: resetFormFields, + refs: resetFormRefs, + include + } = resetForm; + const allFields = []; + if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) { + const fieldIds = new Set(resetFormRefs); + for (const fieldName of resetFormFields) { + const fields = this._fieldObjects[fieldName] || []; + for (const { + id + } of fields) { + fieldIds.add(id); + } + } + for (const fields of Object.values(this._fieldObjects)) { + for (const field of fields) { + if (fieldIds.has(field.id) === include) { + allFields.push(field); + } + } + } + } else { + for (const fields of Object.values(this._fieldObjects)) { + allFields.push(...fields); + } + } + const storage = this.annotationStorage; + const allIds = []; + for (const field of allFields) { + const { + id + } = field; + allIds.push(id); + switch (field.type) { + case "text": + { + const value = field.defaultValue || ""; + storage.setValue(id, { + value + }); + break; + } + case "checkbox": + case "radiobutton": + { + const value = field.defaultValue === field.exportValues; + storage.setValue(id, { + value + }); + break; + } + case "combobox": + case "listbox": + { + const value = field.defaultValue || ""; + storage.setValue(id, { + value + }); + break; + } + default: + continue; + } + const domElement = document.querySelector(`[data-element-id="${id}"]`); + if (!domElement) { + continue; + } else if (!GetElementsByNameSet.has(domElement)) { + (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`); + continue; + } + domElement.dispatchEvent(new Event("resetform")); + } + if (this.enableScripting) { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: "app", + ids: allIds, + name: "ResetForm" + } + }); + } + return false; + }; + } +} +class TextAnnotationElement extends AnnotationElement { + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable + }); + } + render() { + this.container.classList.add("textAnnotation"); + const image = document.createElement("img"); + image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg"; + image.alt = "[{{type}} Annotation]"; + image.dataset.l10nId = "text_annotation_type"; + image.dataset.l10nArgs = JSON.stringify({ + type: this.data.name + }); + if (!this.data.popupRef) { + this._createPopup(); + } + this.container.append(image); + return this.container; + } +} +class WidgetAnnotationElement extends AnnotationElement { + render() { + if (this.data.alternativeText) { + this.container.title = this.data.alternativeText; + } + return this.container; + } + showElementAndHideCanvas(element) { + if (this.data.hasOwnCanvas) { + if (element.previousSibling?.nodeName === "CANVAS") { + element.previousSibling.hidden = true; + } + element.hidden = false; + } + } + _getKeyModifier(event) { + const { + isWin, + isMac + } = _util.FeatureTest.platform; + return isWin && event.ctrlKey || isMac && event.metaKey; + } + _setEventListener(element, baseName, eventName, valueGetter) { + if (baseName.includes("mouse")) { + element.addEventListener(baseName, event => { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: this.data.id, + name: eventName, + value: valueGetter(event), + shift: event.shiftKey, + modifier: this._getKeyModifier(event) + } + }); + }); + } else { + element.addEventListener(baseName, event => { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: this.data.id, + name: eventName, + value: valueGetter(event) + } + }); + }); + } + } + _setEventListeners(element, names, getter) { + for (const [baseName, eventName] of names) { + if (eventName === "Action" || this.data.actions?.[eventName]) { + this._setEventListener(element, baseName, eventName, getter); + } + } + } + _setBackgroundColor(element) { + const color = this.data.backgroundColor || null; + element.style.backgroundColor = color === null ? "transparent" : _util.Util.makeHexColor(color[0], color[1], color[2]); + } + _setTextStyle(element) { + const TEXT_ALIGNMENT = ["left", "center", "right"]; + const { + fontColor + } = this.data.defaultAppearanceData; + const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE; + const style = element.style; + let computedFontSize; + const BORDER_SIZE = 2; + const roundToOneDecimal = x => Math.round(10 * x) / 10; + if (this.data.multiLine) { + const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE); + const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1; + const lineHeight = height / numberOfLines; + computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR)); + } else { + const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE); + computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR)); + } + style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`; + style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]); + if (this.data.textAlignment !== null) { + style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; + } + } + _setRequired(element, isRequired) { + if (isRequired) { + element.setAttribute("required", true); + } else { + element.removeAttribute("required"); + } + element.setAttribute("aria-required", isRequired); + } +} +class TextWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; + super(parameters, { + isRenderable + }); + } + setPropertyOnSiblings(base, key, value, keyInStorage) { + const storage = this.annotationStorage; + for (const element of this._getElementsByName(base.name, base.id)) { + if (element.domElement) { + element.domElement[key] = value; + } + storage.setValue(element.id, { + [keyInStorage]: value + }); + } + } + render() { + const storage = this.annotationStorage; + const id = this.data.id; + this.container.classList.add("textWidgetAnnotation"); + let element = null; + if (this.renderForms) { + const storedData = storage.getValue(id, { + value: this.data.fieldValue + }); + let textContent = storedData.value || ""; + const maxLen = storage.getValue(id, { + charLimit: this.data.maxLen + }).charLimit; + if (maxLen && textContent.length > maxLen) { + textContent = textContent.slice(0, maxLen); + } + let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join("\n") || null; + if (fieldFormattedValues && this.data.comb) { + fieldFormattedValues = fieldFormattedValues.replaceAll(/\s+/g, ""); + } + const elementData = { + userValue: textContent, + formattedValue: fieldFormattedValues, + lastCommittedValue: null, + commitKey: 1 + }; + if (this.data.multiLine) { + element = document.createElement("textarea"); + element.textContent = fieldFormattedValues ?? textContent; + if (this.data.doNotScroll) { + element.style.overflowY = "hidden"; + } + } else { + element = document.createElement("input"); + element.type = "text"; + element.setAttribute("value", fieldFormattedValues ?? textContent); + if (this.data.doNotScroll) { + element.style.overflowX = "hidden"; + } + } + if (this.data.hasOwnCanvas) { + element.hidden = true; + } + GetElementsByNameSet.add(element); + element.setAttribute("data-element-id", id); + element.disabled = this.data.readOnly; + element.name = this.data.fieldName; + element.tabIndex = DEFAULT_TAB_INDEX; + this._setRequired(element, this.data.required); + if (maxLen) { + element.maxLength = maxLen; + } + element.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + this.setPropertyOnSiblings(element, "value", event.target.value, "value"); + elementData.formattedValue = null; + }); + element.addEventListener("resetform", event => { + const defaultValue = this.data.defaultFieldValue ?? ""; + element.value = elementData.userValue = defaultValue; + elementData.formattedValue = null; + }); + let blurListener = event => { + const { + formattedValue + } = elementData; + if (formattedValue !== null && formattedValue !== undefined) { + event.target.value = formattedValue; + } + event.target.scrollLeft = 0; + }; + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("focus", event => { + const { + target + } = event; + if (elementData.userValue) { + target.value = elementData.userValue; + } + elementData.lastCommittedValue = target.value; + elementData.commitKey = 1; + }); + element.addEventListener("updatefromsandbox", jsEvent => { + this.showElementAndHideCanvas(jsEvent.target); + const actions = { + value(event) { + elementData.userValue = event.detail.value ?? ""; + storage.setValue(id, { + value: elementData.userValue.toString() + }); + event.target.value = elementData.userValue; + }, + formattedValue(event) { + const { + formattedValue + } = event.detail; + elementData.formattedValue = formattedValue; + if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) { + event.target.value = formattedValue; + } + storage.setValue(id, { + formattedValue + }); + }, + selRange(event) { + event.target.setSelectionRange(...event.detail.selRange); + }, + charLimit: event => { + const { + charLimit + } = event.detail; + const { + target + } = event; + if (charLimit === 0) { + target.removeAttribute("maxLength"); + return; + } + target.setAttribute("maxLength", charLimit); + let value = elementData.userValue; + if (!value || value.length <= charLimit) { + return; + } + value = value.slice(0, charLimit); + target.value = elementData.userValue = value; + storage.setValue(id, { + value + }); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey: 1, + selStart: target.selectionStart, + selEnd: target.selectionEnd + } + }); + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + element.addEventListener("keydown", event => { + elementData.commitKey = 1; + let commitKey = -1; + if (event.key === "Escape") { + commitKey = 0; + } else if (event.key === "Enter" && !this.data.multiLine) { + commitKey = 2; + } else if (event.key === "Tab") { + elementData.commitKey = 3; + } + if (commitKey === -1) { + return; + } + const { + value + } = event.target; + if (elementData.lastCommittedValue === value) { + return; + } + elementData.lastCommittedValue = value; + elementData.userValue = value; + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + }); + const _blurListener = blurListener; + blurListener = null; + element.addEventListener("blur", event => { + if (!event.relatedTarget) { + return; + } + const { + value + } = event.target; + elementData.userValue = value; + if (elementData.lastCommittedValue !== value) { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey: elementData.commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + } + _blurListener(event); + }); + if (this.data.actions?.Keystroke) { + element.addEventListener("beforeinput", event => { + elementData.lastCommittedValue = null; + const { + data, + target + } = event; + const { + value, + selectionStart, + selectionEnd + } = target; + let selStart = selectionStart, + selEnd = selectionEnd; + switch (event.inputType) { + case "deleteWordBackward": + { + const match = value.substring(0, selectionStart).match(/\w*[^\w]*$/); + if (match) { + selStart -= match[0].length; + } + break; + } + case "deleteWordForward": + { + const match = value.substring(selectionStart).match(/^[^\w]*\w*/); + if (match) { + selEnd += match[0].length; + } + break; + } + case "deleteContentBackward": + if (selectionStart === selectionEnd) { + selStart -= 1; + } + break; + case "deleteContentForward": + if (selectionStart === selectionEnd) { + selEnd += 1; + } + break; + } + event.preventDefault(); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + change: data || "", + willCommit: false, + selStart, + selEnd + } + }); + }); + } + this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.value); + } + if (blurListener) { + element.addEventListener("blur", blurListener); + } + if (this.data.comb) { + const fieldWidth = this.data.rect[2] - this.data.rect[0]; + const combWidth = fieldWidth / maxLen; + element.classList.add("comb"); + element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`; + } + } else { + element = document.createElement("div"); + element.textContent = this.data.fieldValue; + element.style.verticalAlign = "middle"; + element.style.display = "table-cell"; + } + this._setTextStyle(element); + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class SignatureWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: !!parameters.data.hasOwnCanvas + }); + } +} +class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + const storage = this.annotationStorage; + const data = this.data; + const id = data.id; + let value = storage.getValue(id, { + value: data.exportValue === data.fieldValue + }).value; + if (typeof value === "string") { + value = value !== "Off"; + storage.setValue(id, { + value + }); + } + this.container.classList.add("buttonWidgetAnnotation", "checkBox"); + const element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.setAttribute("data-element-id", id); + element.disabled = data.readOnly; + this._setRequired(element, this.data.required); + element.type = "checkbox"; + element.name = data.fieldName; + if (value) { + element.setAttribute("checked", true); + } + element.setAttribute("exportValue", data.exportValue); + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", event => { + const { + name, + checked + } = event.target; + for (const checkbox of this._getElementsByName(name, id)) { + const curChecked = checked && checkbox.exportValue === data.exportValue; + if (checkbox.domElement) { + checkbox.domElement.checked = curChecked; + } + storage.setValue(checkbox.id, { + value: curChecked + }); + } + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", event => { + const defaultValue = data.defaultFieldValue || "Off"; + event.target.checked = defaultValue === data.exportValue; + }); + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value(event) { + event.target.checked = event.detail.value !== "Off"; + storage.setValue(id, { + value: event.target.checked + }); + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked); + } + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + this.container.classList.add("buttonWidgetAnnotation", "radioButton"); + const storage = this.annotationStorage; + const data = this.data; + const id = data.id; + let value = storage.getValue(id, { + value: data.fieldValue === data.buttonValue + }).value; + if (typeof value === "string") { + value = value !== data.buttonValue; + storage.setValue(id, { + value + }); + } + const element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.setAttribute("data-element-id", id); + element.disabled = data.readOnly; + this._setRequired(element, this.data.required); + element.type = "radio"; + element.name = data.fieldName; + if (value) { + element.setAttribute("checked", true); + } + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", event => { + const { + name, + checked + } = event.target; + for (const radio of this._getElementsByName(name, id)) { + storage.setValue(radio.id, { + value: false + }); + } + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", event => { + const defaultValue = data.defaultFieldValue; + event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue; + }); + if (this.enableScripting && this.hasJSActions) { + const pdfButtonValue = data.buttonValue; + element.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value: event => { + const checked = pdfButtonValue === event.detail.value; + for (const radio of this._getElementsByName(event.target.name)) { + const curChecked = checked && radio.id === id; + if (radio.domElement) { + radio.domElement.checked = curChecked; + } + storage.setValue(radio.id, { + value: curChecked + }); + } + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked); + } + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class PushButtonWidgetAnnotationElement extends LinkAnnotationElement { + constructor(parameters) { + super(parameters, { + ignoreBorder: parameters.data.hasAppearance + }); + } + render() { + const container = super.render(); + container.classList.add("buttonWidgetAnnotation", "pushButton"); + if (this.data.alternativeText) { + container.title = this.data.alternativeText; + } + const linkElement = container.lastChild; + if (this.enableScripting && this.hasJSActions && linkElement) { + this._setDefaultPropertiesFromJS(linkElement); + linkElement.addEventListener("updatefromsandbox", jsEvent => { + this._dispatchEventFromSandbox({}, jsEvent); + }); + } + return container; + } +} +class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + this.container.classList.add("choiceWidgetAnnotation"); + const storage = this.annotationStorage; + const id = this.data.id; + const storedData = storage.getValue(id, { + value: this.data.fieldValue + }); + const selectElement = document.createElement("select"); + GetElementsByNameSet.add(selectElement); + selectElement.setAttribute("data-element-id", id); + selectElement.disabled = this.data.readOnly; + this._setRequired(selectElement, this.data.required); + selectElement.name = this.data.fieldName; + selectElement.tabIndex = DEFAULT_TAB_INDEX; + let addAnEmptyEntry = this.data.combo && this.data.options.length > 0; + if (!this.data.combo) { + selectElement.size = this.data.options.length; + if (this.data.multiSelect) { + selectElement.multiple = true; + } + } + selectElement.addEventListener("resetform", event => { + const defaultValue = this.data.defaultFieldValue; + for (const option of selectElement.options) { + option.selected = option.value === defaultValue; + } + }); + for (const option of this.data.options) { + const optionElement = document.createElement("option"); + optionElement.textContent = option.displayValue; + optionElement.value = option.exportValue; + if (storedData.value.includes(option.exportValue)) { + optionElement.setAttribute("selected", true); + addAnEmptyEntry = false; + } + selectElement.append(optionElement); + } + let removeEmptyEntry = null; + if (addAnEmptyEntry) { + const noneOptionElement = document.createElement("option"); + noneOptionElement.value = " "; + noneOptionElement.setAttribute("hidden", true); + noneOptionElement.setAttribute("selected", true); + selectElement.prepend(noneOptionElement); + removeEmptyEntry = () => { + noneOptionElement.remove(); + selectElement.removeEventListener("input", removeEmptyEntry); + removeEmptyEntry = null; + }; + selectElement.addEventListener("input", removeEmptyEntry); + } + const getValue = isExport => { + const name = isExport ? "value" : "textContent"; + const { + options, + multiple + } = selectElement; + if (!multiple) { + return options.selectedIndex === -1 ? null : options[options.selectedIndex][name]; + } + return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]); + }; + let selectedValues = getValue(false); + const getItems = event => { + const options = event.target.options; + return Array.prototype.map.call(options, option => { + return { + displayValue: option.textContent, + exportValue: option.value + }; + }); + }; + if (this.enableScripting && this.hasJSActions) { + selectElement.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value(event) { + removeEmptyEntry?.(); + const value = event.detail.value; + const values = new Set(Array.isArray(value) ? value : [value]); + for (const option of selectElement.options) { + option.selected = values.has(option.value); + } + storage.setValue(id, { + value: getValue(true) + }); + selectedValues = getValue(false); + }, + multipleSelection(event) { + selectElement.multiple = true; + }, + remove(event) { + const options = selectElement.options; + const index = event.detail.remove; + options[index].selected = false; + selectElement.remove(index); + if (options.length > 0) { + const i = Array.prototype.findIndex.call(options, option => option.selected); + if (i === -1) { + options[0].selected = true; + } + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + clear(event) { + while (selectElement.length !== 0) { + selectElement.remove(0); + } + storage.setValue(id, { + value: null, + items: [] + }); + selectedValues = getValue(false); + }, + insert(event) { + const { + index, + displayValue, + exportValue + } = event.detail.insert; + const selectChild = selectElement.children[index]; + const optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + if (selectChild) { + selectChild.before(optionElement); + } else { + selectElement.append(optionElement); + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + items(event) { + const { + items + } = event.detail; + while (selectElement.length !== 0) { + selectElement.remove(0); + } + for (const item of items) { + const { + displayValue, + exportValue + } = item; + const optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.append(optionElement); + } + if (selectElement.options.length > 0) { + selectElement.options[0].selected = true; + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + indices(event) { + const indices = new Set(event.detail.indices); + for (const option of event.target.options) { + option.selected = indices.has(option.index); + } + storage.setValue(id, { + value: getValue(true) + }); + selectedValues = getValue(false); + }, + editable(event) { + event.target.disabled = !event.detail.editable; + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + selectElement.addEventListener("input", event => { + const exportValue = getValue(true); + storage.setValue(id, { + value: exportValue + }); + event.preventDefault(); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value: selectedValues, + changeEx: exportValue, + willCommit: false, + commitKey: 1, + keyDown: false + } + }); + }); + this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"], ["input", "Validate"]], event => event.target.value); + } else { + selectElement.addEventListener("input", function (event) { + storage.setValue(id, { + value: getValue(true) + }); + }); + } + if (this.data.combo) { + this._setTextStyle(selectElement); + } else {} + this._setBackgroundColor(selectElement); + this._setDefaultPropertiesFromJS(selectElement); + this.container.append(selectElement); + return this.container; + } +} +class PopupAnnotationElement extends AnnotationElement { + constructor(parameters) { + const { + data, + elements + } = parameters; + const isRenderable = !!(data.titleObj?.str || data.contentsObj?.str || data.richText?.str); + super(parameters, { + isRenderable + }); + this.elements = elements; + } + render() { + this.container.classList.add("popupAnnotation"); + const popup = new PopupElement({ + container: this.container, + color: this.data.color, + titleObj: this.data.titleObj, + modificationDate: this.data.modificationDate, + contentsObj: this.data.contentsObj, + richText: this.data.richText, + rect: this.data.rect, + parentRect: this.data.parentRect || null, + parent: this.parent, + elements: this.elements, + open: this.data.open + }); + const elementIds = []; + for (const element of this.elements) { + element.popup = popup; + elementIds.push(element.data.id); + element.addHighlightArea(); + } + this.container.setAttribute("aria-controls", elementIds.join(",")); + return this.container; + } +} +class PopupElement { + #dateTimePromise = null; + #boundHide = this.#hide.bind(this); + #boundShow = this.#show.bind(this); + #boundToggle = this.#toggle.bind(this); + #color = null; + #container = null; + #contentsObj = null; + #elements = null; + #parent = null; + #parentRect = null; + #pinned = false; + #popup = null; + #rect = null; + #richText = null; + #titleObj = null; + #wasVisible = false; + constructor(_ref) { + let { + container, + color, + elements, + titleObj, + modificationDate, + contentsObj, + richText, + parent, + rect, + parentRect, + open + } = _ref; + this.#container = container; + this.#titleObj = titleObj; + this.#contentsObj = contentsObj; + this.#richText = richText; + this.#parent = parent; + this.#color = color; + this.#rect = rect; + this.#parentRect = parentRect; + this.#elements = elements; + const dateObject = _display_utils.PDFDateString.toDateObject(modificationDate); + if (dateObject) { + this.#dateTimePromise = parent.l10n.get("annotation_date_string", { + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + }); + } + this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup()); + for (const element of this.trigger) { + element.addEventListener("click", this.#boundToggle); + element.addEventListener("mouseenter", this.#boundShow); + element.addEventListener("mouseleave", this.#boundHide); + } + this.#container.hidden = true; + if (open) { + this.#toggle(); + } + } + render() { + if (this.#popup) { + return; + } + const { + page: { + view + }, + viewport: { + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } + } = this.#parent; + const popup = this.#popup = document.createElement("div"); + popup.className = "popup"; + if (this.#color) { + const baseColor = popup.style.outlineColor = _util.Util.makeHexColor(...this.#color); + if (CSS.supports("background-color", "color-mix(in srgb, red 30%, white)")) { + popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`; + } else { + const BACKGROUND_ENLIGHT = 0.7; + popup.style.backgroundColor = _util.Util.makeHexColor(...this.#color.map(c => Math.floor(BACKGROUND_ENLIGHT * (255 - c) + c))); + } + } + const header = document.createElement("span"); + header.className = "header"; + const title = document.createElement("h1"); + header.append(title); + ({ + dir: title.dir, + str: title.textContent + } = this.#titleObj); + popup.append(header); + if (this.#dateTimePromise) { + const modificationDate = document.createElement("span"); + modificationDate.classList.add("popupDate"); + this.#dateTimePromise.then(localized => { + modificationDate.textContent = localized; + }); + header.append(modificationDate); + } + const contentsObj = this.#contentsObj; + const richText = this.#richText; + if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) { + _xfa_layer.XfaLayer.render({ + xfaHtml: richText.html, + intent: "richText", + div: popup + }); + popup.lastChild.classList.add("richText", "popupContent"); + } else { + const contents = this._formatContents(contentsObj); + popup.append(contents); + } + let useParentRect = !!this.#parentRect; + let rect = useParentRect ? this.#parentRect : this.#rect; + for (const element of this.#elements) { + if (!rect || _util.Util.intersect(element.data.rect, rect) !== null) { + rect = element.data.rect; + useParentRect = true; + break; + } + } + const normalizedRect = _util.Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]); + const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5; + const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0; + const popupLeft = normalizedRect[0] + parentWidth; + const popupTop = normalizedRect[1]; + const { + style + } = this.#container; + style.left = `${100 * (popupLeft - pageX) / pageWidth}%`; + style.top = `${100 * (popupTop - pageY) / pageHeight}%`; + this.#container.append(popup); + } + _formatContents(_ref2) { + let { + str, + dir + } = _ref2; + const p = document.createElement("p"); + p.classList.add("popupContent"); + p.dir = dir; + const lines = str.split(/(?:\r\n?|\n)/); + for (let i = 0, ii = lines.length; i < ii; ++i) { + const line = lines[i]; + p.append(document.createTextNode(line)); + if (i < ii - 1) { + p.append(document.createElement("br")); + } + } + return p; + } + #toggle() { + this.#pinned = !this.#pinned; + if (this.#pinned) { + this.#show(); + this.#container.addEventListener("click", this.#boundToggle); + } else { + this.#hide(); + this.#container.removeEventListener("click", this.#boundToggle); + } + } + #show() { + if (!this.#popup) { + this.render(); + } + if (!this.isVisible) { + this.#container.hidden = false; + this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000; + } else if (this.#pinned) { + this.#container.classList.add("focused"); + } + } + #hide() { + this.#container.classList.remove("focused"); + if (this.#pinned || !this.isVisible) { + return; + } + this.#container.hidden = true; + this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000; + } + forceHide() { + this.#wasVisible = this.isVisible; + if (!this.#wasVisible) { + return; + } + this.#container.hidden = true; + } + maybeShow() { + if (!this.#wasVisible) { + return; + } + this.#wasVisible = false; + this.#container.hidden = false; + } + get isVisible() { + return this.#container.hidden === false; + } +} +class FreeTextAnnotationElement extends AnnotationElement { + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true + }); + this.textContent = parameters.data.textContent; + this.textPosition = parameters.data.textPosition; + this.annotationEditorType = _util.AnnotationEditorType.FREETEXT; + } + render() { + this.container.classList.add("freeTextAnnotation"); + if (this.textContent) { + const content = document.createElement("div"); + content.classList.add("annotationTextContent"); + content.setAttribute("role", "comment"); + for (const line of this.textContent) { + const lineSpan = document.createElement("span"); + lineSpan.textContent = line; + content.append(lineSpan); + } + this.container.append(content); + } + if (!this.data.popupRef) { + this._createPopup(); + } + this._editOnDoubleClick(); + return this.container; + } +} +exports.FreeTextAnnotationElement = FreeTextAnnotationElement; +class LineAnnotationElement extends AnnotationElement { + #line = null; + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("lineAnnotation"); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + const line = this.#line = this.svgFactory.createElement("svg:line"); + line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]); + line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]); + line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]); + line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]); + line.setAttribute("stroke-width", data.borderStyle.width || 1); + line.setAttribute("stroke", "transparent"); + line.setAttribute("fill", "transparent"); + svg.append(line); + this.container.append(svg); + if (!data.popupRef) { + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#line; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class SquareAnnotationElement extends AnnotationElement { + #square = null; + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("squareAnnotation"); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + const borderWidth = data.borderStyle.width; + const square = this.#square = this.svgFactory.createElement("svg:rect"); + square.setAttribute("x", borderWidth / 2); + square.setAttribute("y", borderWidth / 2); + square.setAttribute("width", width - borderWidth); + square.setAttribute("height", height - borderWidth); + square.setAttribute("stroke-width", borderWidth || 1); + square.setAttribute("stroke", "transparent"); + square.setAttribute("fill", "transparent"); + svg.append(square); + this.container.append(svg); + if (!data.popupRef) { + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#square; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class CircleAnnotationElement extends AnnotationElement { + #circle = null; + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("circleAnnotation"); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + const borderWidth = data.borderStyle.width; + const circle = this.#circle = this.svgFactory.createElement("svg:ellipse"); + circle.setAttribute("cx", width / 2); + circle.setAttribute("cy", height / 2); + circle.setAttribute("rx", width / 2 - borderWidth / 2); + circle.setAttribute("ry", height / 2 - borderWidth / 2); + circle.setAttribute("stroke-width", borderWidth || 1); + circle.setAttribute("stroke", "transparent"); + circle.setAttribute("fill", "transparent"); + svg.append(circle); + this.container.append(svg); + if (!data.popupRef) { + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#circle; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class PolylineAnnotationElement extends AnnotationElement { + #polyline = null; + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true + }); + this.containerClassName = "polylineAnnotation"; + this.svgElementName = "svg:polyline"; + } + render() { + this.container.classList.add(this.containerClassName); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + let points = []; + for (const coordinate of data.vertices) { + const x = coordinate.x - data.rect[0]; + const y = data.rect[3] - coordinate.y; + points.push(x + "," + y); + } + points = points.join(" "); + const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + svg.append(polyline); + this.container.append(svg); + if (!data.popupRef) { + this._createPopup(polyline, data); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#polyline; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class PolygonAnnotationElement extends PolylineAnnotationElement { + constructor(parameters) { + super(parameters); + this.containerClassName = "polygonAnnotation"; + this.svgElementName = "svg:polygon"; + } +} +class CaretAnnotationElement extends AnnotationElement { + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("caretAnnotation"); + if (!this.data.popupRef) { + this._createPopup(); + } + return this.container; + } +} +class InkAnnotationElement extends AnnotationElement { + #polylines = []; + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true + }); + this.containerClassName = "inkAnnotation"; + this.svgElementName = "svg:polyline"; + this.annotationEditorType = _util.AnnotationEditorType.INK; + } + render() { + this.container.classList.add(this.containerClassName); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + for (const inkList of data.inkLists) { + let points = []; + for (const coordinate of inkList) { + const x = coordinate.x - data.rect[0]; + const y = data.rect[3] - coordinate.y; + points.push(`${x},${y}`); + } + points = points.join(" "); + const polyline = this.svgFactory.createElement(this.svgElementName); + this.#polylines.push(polyline); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + if (!data.popupRef) { + this._createPopup(polyline, data); + } + svg.append(polyline); + } + this.container.append(svg); + return this.container; + } + getElementsToTriggerPopup() { + return this.#polylines; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +exports.InkAnnotationElement = InkAnnotationElement; +class HighlightAnnotationElement extends AnnotationElement { + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + if (!this.data.popupRef) { + this._createPopup(); + } + this.container.classList.add("highlightAnnotation"); + return this.container; + } +} +class UnderlineAnnotationElement extends AnnotationElement { + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + if (!this.data.popupRef) { + this._createPopup(); + } + this.container.classList.add("underlineAnnotation"); + return this.container; + } +} +class SquigglyAnnotationElement extends AnnotationElement { + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + if (!this.data.popupRef) { + this._createPopup(); + } + this.container.classList.add("squigglyAnnotation"); + return this.container; + } +} +class StrikeOutAnnotationElement extends AnnotationElement { + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + if (!this.data.popupRef) { + this._createPopup(); + } + this.container.classList.add("strikeoutAnnotation"); + return this.container; + } +} +class StampAnnotationElement extends AnnotationElement { + constructor(parameters) { + const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str); + super(parameters, { + isRenderable, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("stampAnnotation"); + if (!this.data.popupRef) { + this._createPopup(); + } + return this.container; + } +} +exports.StampAnnotationElement = StampAnnotationElement; +class FileAttachmentAnnotationElement extends AnnotationElement { + #trigger = null; + constructor(parameters) { + super(parameters, { + isRenderable: true + }); + const { + filename, + content + } = this.data.file; + this.filename = (0, _display_utils.getFilenameFromUrl)(filename, true); + this.content = content; + this.linkService.eventBus?.dispatch("fileattachmentannotation", { + source: this, + filename, + content + }); + } + render() { + this.container.classList.add("fileAttachmentAnnotation"); + const { + data + } = this; + let trigger; + if (data.hasAppearance || data.fillAlpha === 0) { + trigger = document.createElement("div"); + } else { + trigger = document.createElement("img"); + trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(data.name) ? "paperclip" : "pushpin"}.svg`; + if (data.fillAlpha && data.fillAlpha < 1) { + trigger.style = `filter: opacity(${Math.round(data.fillAlpha * 100)}%);`; + } + } + trigger.classList.add("popupTriggerArea"); + trigger.addEventListener("dblclick", this._download.bind(this)); + this.#trigger = trigger; + if (!data.popupRef && (data.titleObj?.str || data.contentsObj?.str || data.richText)) { + this._createPopup(); + } + this.container.append(trigger); + return this.container; + } + getElementsToTriggerPopup() { + return this.#trigger; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } + _download() { + this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename); + } +} +class AnnotationLayer { + #accessibilityManager = null; + #annotationCanvasMap = null; + #editableAnnotations = new Map(); + constructor(_ref3) { + let { + div, + accessibilityManager, + annotationCanvasMap, + l10n, + page, + viewport + } = _ref3; + this.div = div; + this.#accessibilityManager = accessibilityManager; + this.#annotationCanvasMap = annotationCanvasMap; + this.l10n = l10n; + this.page = page; + this.viewport = viewport; + this.zIndex = 0; + this.l10n ||= _displayL10n_utils.NullL10n; + } + #appendElement(element, id) { + const contentElement = element.firstChild || element; + contentElement.id = `${_display_utils.AnnotationPrefix}${id}`; + this.div.append(element); + this.#accessibilityManager?.moveElementInDOM(this.div, element, contentElement, false); + } + async render(params) { + const { + annotations + } = params; + const layer = this.div; + (0, _display_utils.setLayerDimensions)(layer, this.viewport); + const popupToElements = new Map(); + const elementParams = { + data: null, + layer, + linkService: params.linkService, + downloadManager: params.downloadManager, + imageResourcesPath: params.imageResourcesPath || "", + renderForms: params.renderForms !== false, + svgFactory: new _display_utils.DOMSVGFactory(), + annotationStorage: params.annotationStorage || new _annotation_storage.AnnotationStorage(), + enableScripting: params.enableScripting === true, + hasJSActions: params.hasJSActions, + fieldObjects: params.fieldObjects, + parent: this, + elements: null + }; + for (const data of annotations) { + if (data.noHTML) { + continue; + } + const isPopupAnnotation = data.annotationType === _util.AnnotationType.POPUP; + if (!isPopupAnnotation) { + const { + width, + height + } = getRectDims(data.rect); + if (width <= 0 || height <= 0) { + continue; + } + } else { + const elements = popupToElements.get(data.id); + if (!elements) { + continue; + } + elementParams.elements = elements; + } + elementParams.data = data; + const element = AnnotationElementFactory.create(elementParams); + if (!element.isRenderable) { + continue; + } + if (!isPopupAnnotation && data.popupRef) { + const elements = popupToElements.get(data.popupRef); + if (!elements) { + popupToElements.set(data.popupRef, [element]); + } else { + elements.push(element); + } + } + if (element.annotationEditorType > 0) { + this.#editableAnnotations.set(element.data.id, element); + } + const rendered = element.render(); + if (data.hidden) { + rendered.style.visibility = "hidden"; + } + this.#appendElement(rendered, data.id); + } + this.#setAnnotationCanvasMap(); + await this.l10n.translate(layer); + } + update(_ref4) { + let { + viewport + } = _ref4; + const layer = this.div; + this.viewport = viewport; + (0, _display_utils.setLayerDimensions)(layer, { + rotation: viewport.rotation + }); + this.#setAnnotationCanvasMap(); + layer.hidden = false; + } + #setAnnotationCanvasMap() { + if (!this.#annotationCanvasMap) { + return; + } + const layer = this.div; + for (const [id, canvas] of this.#annotationCanvasMap) { + const element = layer.querySelector(`[data-annotation-id="${id}"]`); + if (!element) { + continue; + } + const { + firstChild + } = element; + if (!firstChild) { + element.append(canvas); + } else if (firstChild.nodeName === "CANVAS") { + firstChild.replaceWith(canvas); + } else { + firstChild.before(canvas); + } + } + this.#annotationCanvasMap.clear(); + } + getEditableAnnotations() { + return Array.from(this.#editableAnnotations.values()); + } + getEditableAnnotation(id) { + return this.#editableAnnotations.get(id); + } +} +exports.AnnotationLayer = AnnotationLayer; + +/***/ }), +/* 199 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ColorConverters = void 0; +function makeColorComp(n) { + return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0"); +} +function scaleAndClamp(x) { + return Math.max(0, Math.min(255, 255 * x)); +} +class ColorConverters { + static CMYK_G(_ref) { + let [c, y, m, k] = _ref; + return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)]; + } + static G_CMYK(_ref2) { + let [g] = _ref2; + return ["CMYK", 0, 0, 0, 1 - g]; + } + static G_RGB(_ref3) { + let [g] = _ref3; + return ["RGB", g, g, g]; + } + static G_rgb(_ref4) { + let [g] = _ref4; + g = scaleAndClamp(g); + return [g, g, g]; + } + static G_HTML(_ref5) { + let [g] = _ref5; + const G = makeColorComp(g); + return `#${G}${G}${G}`; + } + static RGB_G(_ref6) { + let [r, g, b] = _ref6; + return ["G", 0.3 * r + 0.59 * g + 0.11 * b]; + } + static RGB_rgb(color) { + return color.map(scaleAndClamp); + } + static RGB_HTML(color) { + return `#${color.map(makeColorComp).join("")}`; + } + static T_HTML() { + return "#00000000"; + } + static T_rgb() { + return [null]; + } + static CMYK_RGB(_ref7) { + let [c, y, m, k] = _ref7; + return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)]; + } + static CMYK_rgb(_ref8) { + let [c, y, m, k] = _ref8; + return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))]; + } + static CMYK_HTML(components) { + const rgb = this.CMYK_RGB(components).slice(1); + return this.RGB_HTML(rgb); + } + static RGB_CMYK(_ref9) { + let [r, g, b] = _ref9; + const c = 1 - r; + const m = 1 - g; + const y = 1 - b; + const k = Math.min(c, m, y); + return ["CMYK", c, m, y, k]; + } +} +exports.ColorConverters = ColorConverters; + +/***/ }), +/* 200 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NullL10n = void 0; +exports.getL10nFallback = getL10nFallback; +const DEFAULT_L10N_STRINGS = { + of_pages: "of {{pagesCount}}", + page_of_pages: "({{pageNumber}} of {{pagesCount}})", + document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)", + document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)", + document_properties_date_string: "{{date}}, {{time}}", + document_properties_page_size_unit_inches: "in", + document_properties_page_size_unit_millimeters: "mm", + document_properties_page_size_orientation_portrait: "portrait", + document_properties_page_size_orientation_landscape: "landscape", + document_properties_page_size_name_a3: "A3", + document_properties_page_size_name_a4: "A4", + document_properties_page_size_name_letter: "Letter", + document_properties_page_size_name_legal: "Legal", + document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})", + document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})", + document_properties_linearized_yes: "Yes", + document_properties_linearized_no: "No", + additional_layers: "Additional Layers", + page_landmark: "Page {{page}}", + thumb_page_title: "Page {{page}}", + thumb_page_canvas: "Thumbnail of Page {{page}}", + find_reached_top: "Reached top of document, continued from bottom", + find_reached_bottom: "Reached end of document, continued from top", + "find_match_count[one]": "{{current}} of {{total}} match", + "find_match_count[other]": "{{current}} of {{total}} matches", + "find_match_count_limit[one]": "More than {{limit}} match", + "find_match_count_limit[other]": "More than {{limit}} matches", + find_not_found: "Phrase not found", + page_scale_width: "Page Width", + page_scale_fit: "Page Fit", + page_scale_auto: "Automatic Zoom", + page_scale_actual: "Actual Size", + page_scale_percent: "{{scale}}%", + loading_error: "An error occurred while loading the PDF.", + invalid_file_error: "Invalid or corrupted PDF file.", + missing_file_error: "Missing PDF file.", + unexpected_response_error: "Unexpected server response.", + rendering_error: "An error occurred while rendering the page.", + annotation_date_string: "{{date}}, {{time}}", + printing_not_supported: "Warning: Printing is not fully supported by this browser.", + printing_not_ready: "Warning: The PDF is not fully loaded for printing.", + web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts.", + free_text2_default_content: "Start typing…", + editor_free_text2_aria_label: "Text Editor", + editor_ink2_aria_label: "Draw Editor", + editor_ink_canvas_aria_label: "User-created image" +}; +{ + DEFAULT_L10N_STRINGS.print_progress_percent = "{{progress}}%"; +} +function getL10nFallback(key, args) { + switch (key) { + case "find_match_count": + key = `find_match_count[${args.total === 1 ? "one" : "other"}]`; + break; + case "find_match_count_limit": + key = `find_match_count_limit[${args.limit === 1 ? "one" : "other"}]`; + break; + } + return DEFAULT_L10N_STRINGS[key] || ""; +} +function formatL10nValue(text, args) { + if (!args) { + return text; + } + return text.replaceAll(/\{\{\s*(\w+)\s*\}\}/g, (all, name) => { + return name in args ? args[name] : "{{" + name + "}}"; + }); +} +const NullL10n = { + async getLanguage() { + return "en-us"; + }, + async getDirection() { + return "ltr"; + }, + async get(key) { + let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getL10nFallback(key, args); + return formatL10nValue(fallback, args); + }, + async translate(element) {} +}; +exports.NullL10n = NullL10n; + +/***/ }), +/* 201 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayer = void 0; +__w_pdfjs_require__(89); +var _xfa_text = __w_pdfjs_require__(194); +class XfaLayer { + static setupStorage(html, id, element, storage, intent) { + const storedData = storage.getValue(id, { + value: null + }); + switch (element.name) { + case "textarea": + if (storedData.value !== null) { + html.textContent = storedData.value; + } + if (intent === "print") { + break; + } + html.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + }); + break; + case "input": + if (element.attributes.type === "radio" || element.attributes.type === "checkbox") { + if (storedData.value === element.attributes.xfaOn) { + html.setAttribute("checked", true); + } else if (storedData.value === element.attributes.xfaOff) { + html.removeAttribute("checked"); + } + if (intent === "print") { + break; + } + html.addEventListener("change", event => { + storage.setValue(id, { + value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff") + }); + }); + } else { + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + } + if (intent === "print") { + break; + } + html.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + }); + } + break; + case "select": + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + for (const option of element.children) { + if (option.attributes.value === storedData.value) { + option.attributes.selected = true; + } else if (option.attributes.hasOwnProperty("selected")) { + delete option.attributes.selected; + } + } + } + html.addEventListener("input", event => { + const options = event.target.options; + const value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value; + storage.setValue(id, { + value + }); + }); + break; + } + } + static setAttributes(_ref) { + let { + html, + element, + storage = null, + intent, + linkService + } = _ref; + const { + attributes + } = element; + const isHTMLAnchorElement = html instanceof HTMLAnchorElement; + if (attributes.type === "radio") { + attributes.name = `${attributes.name}-${intent}`; + } + for (const [key, value] of Object.entries(attributes)) { + if (value === null || value === undefined) { + continue; + } + switch (key) { + case "class": + if (value.length) { + html.setAttribute(key, value.join(" ")); + } + break; + case "dataId": + break; + case "id": + html.setAttribute("data-element-id", value); + break; + case "style": + Object.assign(html.style, value); + break; + case "textContent": + html.textContent = value; + break; + default: + if (!isHTMLAnchorElement || key !== "href" && key !== "newWindow") { + html.setAttribute(key, value); + } + } + } + if (isHTMLAnchorElement) { + linkService.addLinkAttributes(html, attributes.href, attributes.newWindow); + } + if (storage && attributes.dataId) { + this.setupStorage(html, attributes.dataId, element, storage); + } + } + static render(parameters) { + const storage = parameters.annotationStorage; + const linkService = parameters.linkService; + const root = parameters.xfaHtml; + const intent = parameters.intent || "display"; + const rootHtml = document.createElement(root.name); + if (root.attributes) { + this.setAttributes({ + html: rootHtml, + element: root, + intent, + linkService + }); + } + const stack = [[root, -1, rootHtml]]; + const rootDiv = parameters.div; + rootDiv.append(rootHtml); + if (parameters.viewport) { + const transform = `matrix(${parameters.viewport.transform.join(",")})`; + rootDiv.style.transform = transform; + } + if (intent !== "richText") { + rootDiv.setAttribute("class", "xfaLayer xfaFont"); + } + const textDivs = []; + while (stack.length > 0) { + const [parent, i, html] = stack.at(-1); + if (i + 1 === parent.children.length) { + stack.pop(); + continue; + } + const child = parent.children[++stack.at(-1)[1]]; + if (child === null) { + continue; + } + const { + name + } = child; + if (name === "#text") { + const node = document.createTextNode(child.value); + textDivs.push(node); + html.append(node); + continue; + } + const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name); + html.append(childHtml); + if (child.attributes) { + this.setAttributes({ + html: childHtml, + element: child, + storage, + intent, + linkService + }); + } + if (child.children && child.children.length > 0) { + stack.push([child, -1, childHtml]); + } else if (child.value) { + const node = document.createTextNode(child.value); + if (_xfa_text.XfaText.shouldBuildText(name)) { + textDivs.push(node); + } + childHtml.append(node); + } + } + for (const el of rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")) { + el.setAttribute("readOnly", true); + } + return { + textDivs + }; + } + static update(parameters) { + const transform = `matrix(${parameters.viewport.transform.join(",")})`; + parameters.div.style.transform = transform; + parameters.div.hidden = false; + } +} +exports.XfaLayer = XfaLayer; + +/***/ }), +/* 202 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.InkEditor = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +var _editor = __w_pdfjs_require__(164); +var _annotation_layer = __w_pdfjs_require__(198); +var _tools = __w_pdfjs_require__(165); +class InkEditor extends _editor.AnnotationEditor { + #baseHeight = 0; + #baseWidth = 0; + #boundCanvasContextMenu = this.canvasContextMenu.bind(this); + #boundCanvasPointermove = this.canvasPointermove.bind(this); + #boundCanvasPointerleave = this.canvasPointerleave.bind(this); + #boundCanvasPointerup = this.canvasPointerup.bind(this); + #boundCanvasPointerdown = this.canvasPointerdown.bind(this); + #currentPath2D = new Path2D(); + #disableEditing = false; + #hasSomethingToDraw = false; + #isCanvasInitialized = false; + #observer = null; + #realWidth = 0; + #realHeight = 0; + #requestFrameCallback = null; + static _defaultColor = null; + static _defaultOpacity = 1; + static _defaultThickness = 1; + static _l10nPromise; + static _type = "ink"; + constructor(params) { + super({ + ...params, + name: "inkEditor" + }); + this.color = params.color || null; + this.thickness = params.thickness || null; + this.opacity = params.opacity || null; + this.paths = []; + this.bezierPath2D = []; + this.allRawPaths = []; + this.currentPath = []; + this.scaleFactor = 1; + this.translationX = this.translationY = 0; + this.x = 0; + this.y = 0; + this._willKeepAspectRatio = true; + } + static initialize(l10n) { + this._l10nPromise = new Map(["editor_ink_canvas_aria_label", "editor_ink2_aria_label"].map(str => [str, l10n.get(str)])); + } + static updateDefaultParams(type, value) { + switch (type) { + case _util.AnnotationEditorParamsType.INK_THICKNESS: + InkEditor._defaultThickness = value; + break; + case _util.AnnotationEditorParamsType.INK_COLOR: + InkEditor._defaultColor = value; + break; + case _util.AnnotationEditorParamsType.INK_OPACITY: + InkEditor._defaultOpacity = value / 100; + break; + } + } + updateParams(type, value) { + switch (type) { + case _util.AnnotationEditorParamsType.INK_THICKNESS: + this.#updateThickness(value); + break; + case _util.AnnotationEditorParamsType.INK_COLOR: + this.#updateColor(value); + break; + case _util.AnnotationEditorParamsType.INK_OPACITY: + this.#updateOpacity(value); + break; + } + } + static get defaultPropertiesToUpdate() { + return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]]; + } + get propertiesToUpdate() { + return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]]; + } + #updateThickness(thickness) { + const savedThickness = this.thickness; + this.addCommands({ + cmd: () => { + this.thickness = thickness; + this.#fitToContent(); + }, + undo: () => { + this.thickness = savedThickness; + this.#fitToContent(); + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.INK_THICKNESS, + overwriteIfSameType: true, + keepUndo: true + }); + } + #updateColor(color) { + const savedColor = this.color; + this.addCommands({ + cmd: () => { + this.color = color; + this.#redraw(); + }, + undo: () => { + this.color = savedColor; + this.#redraw(); + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.INK_COLOR, + overwriteIfSameType: true, + keepUndo: true + }); + } + #updateOpacity(opacity) { + opacity /= 100; + const savedOpacity = this.opacity; + this.addCommands({ + cmd: () => { + this.opacity = opacity; + this.#redraw(); + }, + undo: () => { + this.opacity = savedOpacity; + this.#redraw(); + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.INK_OPACITY, + overwriteIfSameType: true, + keepUndo: true + }); + } + rebuild() { + if (!this.parent) { + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + if (!this.canvas) { + this.#createCanvas(); + this.#createObserver(); + } + if (!this.isAttachedToDOM) { + this.parent.add(this); + this.#setCanvasDims(); + } + this.#fitToContent(); + } + remove() { + if (this.canvas === null) { + return; + } + if (!this.isEmpty()) { + this.commit(); + } + this.canvas.width = this.canvas.height = 0; + this.canvas.remove(); + this.canvas = null; + this.#observer.disconnect(); + this.#observer = null; + super.remove(); + } + setParent(parent) { + if (!this.parent && parent) { + this._uiManager.removeShouldRescale(this); + } else if (this.parent && parent === null) { + this._uiManager.addShouldRescale(this); + } + super.setParent(parent); + } + onScaleChanging() { + const [parentWidth, parentHeight] = this.parentDimensions; + const width = this.width * parentWidth; + const height = this.height * parentHeight; + this.setDimensions(width, height); + } + enableEditMode() { + if (this.#disableEditing || this.canvas === null) { + return; + } + super.enableEditMode(); + this._isDraggable = false; + this.canvas.addEventListener("pointerdown", this.#boundCanvasPointerdown); + } + disableEditMode() { + if (!this.isInEditMode() || this.canvas === null) { + return; + } + super.disableEditMode(); + this._isDraggable = !this.isEmpty(); + this.div.classList.remove("editing"); + this.canvas.removeEventListener("pointerdown", this.#boundCanvasPointerdown); + } + onceAdded() { + this._isDraggable = !this.isEmpty(); + } + isEmpty() { + return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0; + } + #getInitialBBox() { + const { + parentRotation, + parentDimensions: [width, height] + } = this; + switch (parentRotation) { + case 90: + return [0, height, height, width]; + case 180: + return [width, height, width, height]; + case 270: + return [width, 0, height, width]; + default: + return [0, 0, width, height]; + } + } + #setStroke() { + const { + ctx, + color, + opacity, + thickness, + parentScale, + scaleFactor + } = this; + ctx.lineWidth = thickness * parentScale / scaleFactor; + ctx.lineCap = "round"; + ctx.lineJoin = "round"; + ctx.miterLimit = 10; + ctx.strokeStyle = `${color}${(0, _tools.opacityToHex)(opacity)}`; + } + #startDrawing(x, y) { + this.canvas.addEventListener("contextmenu", this.#boundCanvasContextMenu); + this.canvas.addEventListener("pointerleave", this.#boundCanvasPointerleave); + this.canvas.addEventListener("pointermove", this.#boundCanvasPointermove); + this.canvas.addEventListener("pointerup", this.#boundCanvasPointerup); + this.canvas.removeEventListener("pointerdown", this.#boundCanvasPointerdown); + this.isEditing = true; + if (!this.#isCanvasInitialized) { + this.#isCanvasInitialized = true; + this.#setCanvasDims(); + this.thickness ||= InkEditor._defaultThickness; + this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor; + this.opacity ??= InkEditor._defaultOpacity; + } + this.currentPath.push([x, y]); + this.#hasSomethingToDraw = false; + this.#setStroke(); + this.#requestFrameCallback = () => { + this.#drawPoints(); + if (this.#requestFrameCallback) { + window.requestAnimationFrame(this.#requestFrameCallback); + } + }; + window.requestAnimationFrame(this.#requestFrameCallback); + } + #draw(x, y) { + const [lastX, lastY] = this.currentPath.at(-1); + if (this.currentPath.length > 1 && x === lastX && y === lastY) { + return; + } + const currentPath = this.currentPath; + let path2D = this.#currentPath2D; + currentPath.push([x, y]); + this.#hasSomethingToDraw = true; + if (currentPath.length <= 2) { + path2D.moveTo(...currentPath[0]); + path2D.lineTo(x, y); + return; + } + if (currentPath.length === 3) { + this.#currentPath2D = path2D = new Path2D(); + path2D.moveTo(...currentPath[0]); + } + this.#makeBezierCurve(path2D, ...currentPath.at(-3), ...currentPath.at(-2), x, y); + } + #endPath() { + if (this.currentPath.length === 0) { + return; + } + const lastPoint = this.currentPath.at(-1); + this.#currentPath2D.lineTo(...lastPoint); + } + #stopDrawing(x, y) { + this.#requestFrameCallback = null; + x = Math.min(Math.max(x, 0), this.canvas.width); + y = Math.min(Math.max(y, 0), this.canvas.height); + this.#draw(x, y); + this.#endPath(); + let bezier; + if (this.currentPath.length !== 1) { + bezier = this.#generateBezierPoints(); + } else { + const xy = [x, y]; + bezier = [[xy, xy.slice(), xy.slice(), xy]]; + } + const path2D = this.#currentPath2D; + const currentPath = this.currentPath; + this.currentPath = []; + this.#currentPath2D = new Path2D(); + const cmd = () => { + this.allRawPaths.push(currentPath); + this.paths.push(bezier); + this.bezierPath2D.push(path2D); + this.rebuild(); + }; + const undo = () => { + this.allRawPaths.pop(); + this.paths.pop(); + this.bezierPath2D.pop(); + if (this.paths.length === 0) { + this.remove(); + } else { + if (!this.canvas) { + this.#createCanvas(); + this.#createObserver(); + } + this.#fitToContent(); + } + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } + #drawPoints() { + if (!this.#hasSomethingToDraw) { + return; + } + this.#hasSomethingToDraw = false; + const thickness = Math.ceil(this.thickness * this.parentScale); + const lastPoints = this.currentPath.slice(-3); + const x = lastPoints.map(xy => xy[0]); + const y = lastPoints.map(xy => xy[1]); + const xMin = Math.min(...x) - thickness; + const xMax = Math.max(...x) + thickness; + const yMin = Math.min(...y) - thickness; + const yMax = Math.max(...y) + thickness; + const { + ctx + } = this; + ctx.save(); + ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); + for (const path of this.bezierPath2D) { + ctx.stroke(path); + } + ctx.stroke(this.#currentPath2D); + ctx.restore(); + } + #makeBezierCurve(path2D, x0, y0, x1, y1, x2, y2) { + const prevX = (x0 + x1) / 2; + const prevY = (y0 + y1) / 2; + const x3 = (x1 + x2) / 2; + const y3 = (y1 + y2) / 2; + path2D.bezierCurveTo(prevX + 2 * (x1 - prevX) / 3, prevY + 2 * (y1 - prevY) / 3, x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3, x3, y3); + } + #generateBezierPoints() { + const path = this.currentPath; + if (path.length <= 2) { + return [[path[0], path[0], path.at(-1), path.at(-1)]]; + } + const bezierPoints = []; + let i; + let [x0, y0] = path[0]; + for (i = 1; i < path.length - 2; i++) { + const [x1, y1] = path[i]; + const [x2, y2] = path[i + 1]; + const x3 = (x1 + x2) / 2; + const y3 = (y1 + y2) / 2; + const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3]; + const control2 = [x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3]; + bezierPoints.push([[x0, y0], control1, control2, [x3, y3]]); + [x0, y0] = [x3, y3]; + } + const [x1, y1] = path[i]; + const [x2, y2] = path[i + 1]; + const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3]; + const control2 = [x2 + 2 * (x1 - x2) / 3, y2 + 2 * (y1 - y2) / 3]; + bezierPoints.push([[x0, y0], control1, control2, [x2, y2]]); + return bezierPoints; + } + #redraw() { + if (this.isEmpty()) { + this.#updateTransform(); + return; + } + this.#setStroke(); + const { + canvas, + ctx + } = this; + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.clearRect(0, 0, canvas.width, canvas.height); + this.#updateTransform(); + for (const path of this.bezierPath2D) { + ctx.stroke(path); + } + } + commit() { + if (this.#disableEditing) { + return; + } + super.commit(); + this.isEditing = false; + this.disableEditMode(); + this.setInForeground(); + this.#disableEditing = true; + this.div.classList.add("disabled"); + this.#fitToContent(true); + this.makeResizable(); + this.parent.addInkEditorIfNeeded(true); + this.moveInDOM(); + this.div.focus({ + preventScroll: true + }); + } + focusin(event) { + if (!this._focusEventsAllowed) { + return; + } + super.focusin(event); + this.enableEditMode(); + } + canvasPointerdown(event) { + if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) { + return; + } + this.setInForeground(); + event.preventDefault(); + if (event.type !== "mouse") { + this.div.focus(); + } + this.#startDrawing(event.offsetX, event.offsetY); + } + canvasContextMenu(event) { + event.preventDefault(); + } + canvasPointermove(event) { + event.preventDefault(); + this.#draw(event.offsetX, event.offsetY); + } + canvasPointerup(event) { + event.preventDefault(); + this.#endDrawing(event); + } + canvasPointerleave(event) { + this.#endDrawing(event); + } + #endDrawing(event) { + this.canvas.removeEventListener("pointerleave", this.#boundCanvasPointerleave); + this.canvas.removeEventListener("pointermove", this.#boundCanvasPointermove); + this.canvas.removeEventListener("pointerup", this.#boundCanvasPointerup); + this.canvas.addEventListener("pointerdown", this.#boundCanvasPointerdown); + setTimeout(() => { + this.canvas.removeEventListener("contextmenu", this.#boundCanvasContextMenu); + }, 10); + this.#stopDrawing(event.offsetX, event.offsetY); + this.addToAnnotationStorage(); + this.setInBackground(); + } + #createCanvas() { + this.canvas = document.createElement("canvas"); + this.canvas.width = this.canvas.height = 0; + this.canvas.className = "inkEditorCanvas"; + InkEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(msg => this.canvas?.setAttribute("aria-label", msg)); + this.div.append(this.canvas); + this.ctx = this.canvas.getContext("2d"); + } + #createObserver() { + this.#observer = new ResizeObserver(entries => { + const rect = entries[0].contentRect; + if (rect.width && rect.height) { + this.setDimensions(rect.width, rect.height); + } + }); + this.#observer.observe(this.div); + } + get isResizable() { + return !this.isEmpty() && this.#disableEditing; + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this.width) { + baseX = this.x; + baseY = this.y; + } + super.render(); + InkEditor._l10nPromise.get("editor_ink2_aria_label").then(msg => this.div?.setAttribute("aria-label", msg)); + const [x, y, w, h] = this.#getInitialBBox(); + this.setAt(x, y, 0, 0); + this.setDims(w, h); + this.#createCanvas(); + if (this.width) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.setAspectRatio(this.width * parentWidth, this.height * parentHeight); + this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); + this.#isCanvasInitialized = true; + this.#setCanvasDims(); + this.setDims(this.width * parentWidth, this.height * parentHeight); + this.#redraw(); + this.div.classList.add("disabled"); + } else { + this.div.classList.add("editing"); + this.enableEditMode(); + } + this.#createObserver(); + return this.div; + } + #setCanvasDims() { + if (!this.#isCanvasInitialized) { + return; + } + const [parentWidth, parentHeight] = this.parentDimensions; + this.canvas.width = Math.ceil(this.width * parentWidth); + this.canvas.height = Math.ceil(this.height * parentHeight); + this.#updateTransform(); + } + setDimensions(width, height) { + const roundedWidth = Math.round(width); + const roundedHeight = Math.round(height); + if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) { + return; + } + this.#realWidth = roundedWidth; + this.#realHeight = roundedHeight; + this.canvas.style.visibility = "hidden"; + const [parentWidth, parentHeight] = this.parentDimensions; + this.width = width / parentWidth; + this.height = height / parentHeight; + this.fixAndSetPosition(); + if (this.#disableEditing) { + this.#setScaleFactor(width, height); + } + this.#setCanvasDims(); + this.#redraw(); + this.canvas.style.visibility = "visible"; + this.fixDims(); + } + #setScaleFactor(width, height) { + const padding = this.#getPadding(); + const scaleFactorW = (width - padding) / this.#baseWidth; + const scaleFactorH = (height - padding) / this.#baseHeight; + this.scaleFactor = Math.min(scaleFactorW, scaleFactorH); + } + #updateTransform() { + const padding = this.#getPadding() / 2; + this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding); + } + static #buildPath2D(bezier) { + const path2D = new Path2D(); + for (let i = 0, ii = bezier.length; i < ii; i++) { + const [first, control1, control2, second] = bezier[i]; + if (i === 0) { + path2D.moveTo(...first); + } + path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]); + } + return path2D; + } + static #toPDFCoordinates(points, rect, rotation) { + const [blX, blY, trX, trY] = rect; + switch (rotation) { + case 0: + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] += blX; + points[i + 1] = trY - points[i + 1]; + } + break; + case 90: + for (let i = 0, ii = points.length; i < ii; i += 2) { + const x = points[i]; + points[i] = points[i + 1] + blX; + points[i + 1] = x + blY; + } + break; + case 180: + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] = trX - points[i]; + points[i + 1] += blY; + } + break; + case 270: + for (let i = 0, ii = points.length; i < ii; i += 2) { + const x = points[i]; + points[i] = trX - points[i + 1]; + points[i + 1] = trY - x; + } + break; + default: + throw new Error("Invalid rotation"); + } + return points; + } + static #fromPDFCoordinates(points, rect, rotation) { + const [blX, blY, trX, trY] = rect; + switch (rotation) { + case 0: + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] -= blX; + points[i + 1] = trY - points[i + 1]; + } + break; + case 90: + for (let i = 0, ii = points.length; i < ii; i += 2) { + const x = points[i]; + points[i] = points[i + 1] - blY; + points[i + 1] = x - blX; + } + break; + case 180: + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] = trX - points[i]; + points[i + 1] -= blY; + } + break; + case 270: + for (let i = 0, ii = points.length; i < ii; i += 2) { + const x = points[i]; + points[i] = trY - points[i + 1]; + points[i + 1] = trX - x; + } + break; + default: + throw new Error("Invalid rotation"); + } + return points; + } + #serializePaths(s, tx, ty, rect) { + const paths = []; + const padding = this.thickness / 2; + const shiftX = s * tx + padding; + const shiftY = s * ty + padding; + for (const bezier of this.paths) { + const buffer = []; + const points = []; + for (let j = 0, jj = bezier.length; j < jj; j++) { + const [first, control1, control2, second] = bezier[j]; + const p10 = s * first[0] + shiftX; + const p11 = s * first[1] + shiftY; + const p20 = s * control1[0] + shiftX; + const p21 = s * control1[1] + shiftY; + const p30 = s * control2[0] + shiftX; + const p31 = s * control2[1] + shiftY; + const p40 = s * second[0] + shiftX; + const p41 = s * second[1] + shiftY; + if (j === 0) { + buffer.push(p10, p11); + points.push(p10, p11); + } + buffer.push(p20, p21, p30, p31, p40, p41); + points.push(p20, p21); + if (j === jj - 1) { + points.push(p40, p41); + } + } + paths.push({ + bezier: InkEditor.#toPDFCoordinates(buffer, rect, this.rotation), + points: InkEditor.#toPDFCoordinates(points, rect, this.rotation) + }); + } + return paths; + } + #getBbox() { + let xMin = Infinity; + let xMax = -Infinity; + let yMin = Infinity; + let yMax = -Infinity; + for (const path of this.paths) { + for (const [first, control1, control2, second] of path) { + const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second); + xMin = Math.min(xMin, bbox[0]); + yMin = Math.min(yMin, bbox[1]); + xMax = Math.max(xMax, bbox[2]); + yMax = Math.max(yMax, bbox[3]); + } + } + return [xMin, yMin, xMax, yMax]; + } + #getPadding() { + return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0; + } + #fitToContent() { + let firstTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.isEmpty()) { + return; + } + if (!this.#disableEditing) { + this.#redraw(); + return; + } + const bbox = this.#getBbox(); + const padding = this.#getPadding(); + this.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]); + this.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]); + const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor); + const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor); + const [parentWidth, parentHeight] = this.parentDimensions; + this.width = width / parentWidth; + this.height = height / parentHeight; + this.setAspectRatio(width, height); + const prevTranslationX = this.translationX; + const prevTranslationY = this.translationY; + this.translationX = -bbox[0]; + this.translationY = -bbox[1]; + this.#setCanvasDims(); + this.#redraw(); + this.#realWidth = width; + this.#realHeight = height; + this.setDims(width, height); + const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0; + this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding); + } + static deserialize(data, parent, uiManager) { + if (data instanceof _annotation_layer.InkAnnotationElement) { + return null; + } + const editor = super.deserialize(data, parent, uiManager); + editor.thickness = data.thickness; + editor.color = _util.Util.makeHexColor(...data.color); + editor.opacity = data.opacity; + const [pageWidth, pageHeight] = editor.pageDimensions; + const width = editor.width * pageWidth; + const height = editor.height * pageHeight; + const scaleFactor = editor.parentScale; + const padding = data.thickness / 2; + editor.#disableEditing = true; + editor.#realWidth = Math.round(width); + editor.#realHeight = Math.round(height); + const { + paths, + rect, + rotation + } = data; + for (let { + bezier + } of paths) { + bezier = InkEditor.#fromPDFCoordinates(bezier, rect, rotation); + const path = []; + editor.paths.push(path); + let p0 = scaleFactor * (bezier[0] - padding); + let p1 = scaleFactor * (bezier[1] - padding); + for (let i = 2, ii = bezier.length; i < ii; i += 6) { + const p10 = scaleFactor * (bezier[i] - padding); + const p11 = scaleFactor * (bezier[i + 1] - padding); + const p20 = scaleFactor * (bezier[i + 2] - padding); + const p21 = scaleFactor * (bezier[i + 3] - padding); + const p30 = scaleFactor * (bezier[i + 4] - padding); + const p31 = scaleFactor * (bezier[i + 5] - padding); + path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]); + p0 = p30; + p1 = p31; + } + const path2D = this.#buildPath2D(path); + editor.bezierPath2D.push(path2D); + } + const bbox = editor.#getBbox(); + editor.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]); + editor.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]); + editor.#setScaleFactor(width, height); + return editor; + } + serialize() { + if (this.isEmpty()) { + return null; + } + const rect = this.getRect(0, 0); + const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle); + return { + annotationType: _util.AnnotationEditorType.INK, + color, + thickness: this.thickness, + opacity: this.opacity, + paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, rect), + pageIndex: this.pageIndex, + rect, + rotation: this.rotation + }; + } +} +exports.InkEditor = InkEditor; + +/***/ }), +/* 203 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StampEditor = void 0; +__w_pdfjs_require__(149); +__w_pdfjs_require__(152); +var _util = __w_pdfjs_require__(1); +var _editor = __w_pdfjs_require__(164); +var _display_utils = __w_pdfjs_require__(168); +var _annotation_layer = __w_pdfjs_require__(198); +class StampEditor extends _editor.AnnotationEditor { + #bitmap = null; + #bitmapId = null; + #bitmapPromise = null; + #bitmapUrl = null; + #bitmapFile = null; + #canvas = null; + #observer = null; + #resizeTimeoutId = null; + #isSvg = false; + #hasBeenAddedInUndoStack = false; + static _type = "stamp"; + constructor(params) { + super({ + ...params, + name: "stampEditor" + }); + this.#bitmapUrl = params.bitmapUrl; + this.#bitmapFile = params.bitmapFile; + } + static get supportedTypes() { + const types = ["apng", "avif", "bmp", "gif", "jpeg", "png", "svg+xml", "webp", "x-icon"]; + return (0, _util.shadow)(this, "supportedTypes", types.map(type => `image/${type}`)); + } + static get supportedTypesStr() { + return (0, _util.shadow)(this, "supportedTypesStr", this.supportedTypes.join(",")); + } + static isHandlingMimeForPasting(mime) { + return this.supportedTypes.includes(mime); + } + static paste(item, parent) { + parent.pasteEditor(_util.AnnotationEditorType.STAMP, { + bitmapFile: item.getAsFile() + }); + } + #getBitmapFetched(data) { + let fromId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (!data) { + this.remove(); + return; + } + this.#bitmap = data.bitmap; + if (!fromId) { + this.#bitmapId = data.id; + this.#isSvg = data.isSvg; + } + this.#createCanvas(); + } + #getBitmapDone() { + this.#bitmapPromise = null; + this._uiManager.enableWaiting(false); + if (this.#canvas) { + this.div.focus(); + } + } + #getBitmap() { + if (this.#bitmapId) { + this._uiManager.enableWaiting(true); + this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => this.#getBitmapFetched(data, true)).finally(() => this.#getBitmapDone()); + return; + } + if (this.#bitmapUrl) { + const url = this.#bitmapUrl; + this.#bitmapUrl = null; + this._uiManager.enableWaiting(true); + this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone()); + return; + } + if (this.#bitmapFile) { + const file = this.#bitmapFile; + this.#bitmapFile = null; + this._uiManager.enableWaiting(true); + this.#bitmapPromise = this._uiManager.imageManager.getFromFile(file).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone()); + return; + } + const input = document.createElement("input"); + input.type = "file"; + input.accept = StampEditor.supportedTypesStr; + this.#bitmapPromise = new Promise(resolve => { + input.addEventListener("change", async () => { + if (!input.files || input.files.length === 0) { + this.remove(); + } else { + this._uiManager.enableWaiting(true); + const data = await this._uiManager.imageManager.getFromFile(input.files[0]); + this.#getBitmapFetched(data); + } + resolve(); + }); + input.addEventListener("cancel", () => { + this.remove(); + resolve(); + }); + }).finally(() => this.#getBitmapDone()); + input.click(); + } + remove() { + if (this.#bitmapId) { + this.#bitmap = null; + this._uiManager.imageManager.deleteId(this.#bitmapId); + this.#canvas?.remove(); + this.#canvas = null; + this.#observer?.disconnect(); + this.#observer = null; + } + super.remove(); + } + rebuild() { + if (!this.parent) { + if (this.#bitmapId) { + this.#getBitmap(); + } + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + if (this.#bitmapId) { + this.#getBitmap(); + } + if (!this.isAttachedToDOM) { + this.parent.add(this); + } + } + onceAdded() { + this._isDraggable = true; + this.div.focus(); + } + isEmpty() { + return !(this.#bitmapPromise || this.#bitmap || this.#bitmapUrl || this.#bitmapFile); + } + get isResizable() { + return true; + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this.width) { + baseX = this.x; + baseY = this.y; + } + super.render(); + this.div.hidden = true; + if (this.#bitmap) { + this.#createCanvas(); + } else { + this.#getBitmap(); + } + if (this.width) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); + } + return this.div; + } + #createCanvas() { + const { + div + } = this; + let { + width, + height + } = this.#bitmap; + const [pageWidth, pageHeight] = this.pageDimensions; + const MAX_RATIO = 0.75; + if (this.width) { + width = this.width * pageWidth; + height = this.height * pageHeight; + } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) { + const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height); + width *= factor; + height *= factor; + } + const [parentWidth, parentHeight] = this.parentDimensions; + this.setDims(width * parentWidth / pageWidth, height * parentHeight / pageHeight); + this._uiManager.enableWaiting(false); + const canvas = this.#canvas = document.createElement("canvas"); + div.append(canvas); + div.hidden = false; + this.#drawBitmap(width, height); + this.#createObserver(); + if (!this.#hasBeenAddedInUndoStack) { + this.parent.addUndoableEditor(this); + this.#hasBeenAddedInUndoStack = true; + } + } + #setDimensions(width, height) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.width = width / parentWidth; + this.height = height / parentHeight; + this.setDims(width, height); + if (this._initialOptions?.isCentered) { + this.center(); + } else { + this.fixAndSetPosition(); + } + this._initialOptions = null; + if (this.#resizeTimeoutId !== null) { + clearTimeout(this.#resizeTimeoutId); + } + const TIME_TO_WAIT = 200; + this.#resizeTimeoutId = setTimeout(() => { + this.#resizeTimeoutId = null; + this.#drawBitmap(width, height); + }, TIME_TO_WAIT); + } + #scaleBitmap(width, height) { + const { + width: bitmapWidth, + height: bitmapHeight + } = this.#bitmap; + let newWidth = bitmapWidth; + let newHeight = bitmapHeight; + let bitmap = this.#bitmap; + while (newWidth > 2 * width || newHeight > 2 * height) { + const prevWidth = newWidth; + const prevHeight = newHeight; + if (newWidth > 2 * width) { + newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2); + } + if (newHeight > 2 * height) { + newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2); + } + const offscreen = new OffscreenCanvas(newWidth, newHeight); + const ctx = offscreen.getContext("2d"); + ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight); + bitmap = offscreen.transferToImageBitmap(); + } + return bitmap; + } + #drawBitmap(width, height) { + width = Math.ceil(width); + height = Math.ceil(height); + const canvas = this.#canvas; + if (!canvas || canvas.width === width && canvas.height === height) { + return; + } + canvas.width = width; + canvas.height = height; + const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(width, height); + const ctx = canvas.getContext("2d"); + ctx.filter = this._uiManager.hcmFilter; + ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, width, height); + } + #serializeBitmap(toUrl) { + if (toUrl) { + if (this.#isSvg) { + const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId); + if (url) { + return url; + } + } + const canvas = document.createElement("canvas"); + ({ + width: canvas.width, + height: canvas.height + } = this.#bitmap); + const ctx = canvas.getContext("2d"); + ctx.drawImage(this.#bitmap, 0, 0); + return canvas.toDataURL(); + } + if (this.#isSvg) { + const [pageWidth, pageHeight] = this.pageDimensions; + const width = Math.round(this.width * pageWidth * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + const height = Math.round(this.height * pageHeight * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + const offscreen = new OffscreenCanvas(width, height); + const ctx = offscreen.getContext("2d"); + ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height); + return offscreen.transferToImageBitmap(); + } + return structuredClone(this.#bitmap); + } + #createObserver() { + this.#observer = new ResizeObserver(entries => { + const rect = entries[0].contentRect; + if (rect.width && rect.height) { + this.#setDimensions(rect.width, rect.height); + } + }); + this.#observer.observe(this.div); + } + static deserialize(data, parent, uiManager) { + if (data instanceof _annotation_layer.StampAnnotationElement) { + return null; + } + const editor = super.deserialize(data, parent, uiManager); + const { + rect, + bitmapUrl, + bitmapId, + isSvg + } = data; + if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) { + editor.#bitmapId = bitmapId; + } else { + editor.#bitmapUrl = bitmapUrl; + } + editor.#isSvg = isSvg; + const [parentWidth, parentHeight] = editor.pageDimensions; + editor.width = (rect[2] - rect[0]) / parentWidth; + editor.height = (rect[3] - rect[1]) / parentHeight; + return editor; + } + serialize() { + let isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (this.isEmpty()) { + return null; + } + const serialized = { + annotationType: _util.AnnotationEditorType.STAMP, + bitmapId: this.#bitmapId, + pageIndex: this.pageIndex, + rect: this.getRect(0, 0), + rotation: this.rotation, + isSvg: this.#isSvg + }; + if (isForCopying) { + serialized.bitmapUrl = this.#serializeBitmap(true); + return serialized; + } + if (context === null) { + return serialized; + } + context.stamps ||= new Map(); + const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null; + if (!context.stamps.has(this.#bitmapId)) { + context.stamps.set(this.#bitmapId, { + area, + serialized + }); + serialized.bitmap = this.#serializeBitmap(false); + } else if (this.#isSvg) { + const prevData = context.stamps.get(this.#bitmapId); + if (area > prevData.area) { + prevData.area = area; + prevData.serialized.bitmap.close(); + prevData.serialized.bitmap = this.#serializeBitmap(false); + } + } + return serialized; + } +} +exports.StampEditor = StampEditor; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __w_pdfjs_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "AbortException", ({ + enumerable: true, + get: function () { + return _util.AbortException; + } +})); +Object.defineProperty(exports, "AnnotationEditorLayer", ({ + enumerable: true, + get: function () { + return _annotation_editor_layer.AnnotationEditorLayer; + } +})); +Object.defineProperty(exports, "AnnotationEditorParamsType", ({ + enumerable: true, + get: function () { + return _util.AnnotationEditorParamsType; + } +})); +Object.defineProperty(exports, "AnnotationEditorType", ({ + enumerable: true, + get: function () { + return _util.AnnotationEditorType; + } +})); +Object.defineProperty(exports, "AnnotationEditorUIManager", ({ + enumerable: true, + get: function () { + return _tools.AnnotationEditorUIManager; + } +})); +Object.defineProperty(exports, "AnnotationLayer", ({ + enumerable: true, + get: function () { + return _annotation_layer.AnnotationLayer; + } +})); +Object.defineProperty(exports, "AnnotationMode", ({ + enumerable: true, + get: function () { + return _util.AnnotationMode; + } +})); +Object.defineProperty(exports, "CMapCompressionType", ({ + enumerable: true, + get: function () { + return _util.CMapCompressionType; + } +})); +Object.defineProperty(exports, "FeatureTest", ({ + enumerable: true, + get: function () { + return _util.FeatureTest; + } +})); +Object.defineProperty(exports, "GlobalWorkerOptions", ({ + enumerable: true, + get: function () { + return _worker_options.GlobalWorkerOptions; + } +})); +Object.defineProperty(exports, "ImageKind", ({ + enumerable: true, + get: function () { + return _util.ImageKind; + } +})); +Object.defineProperty(exports, "InvalidPDFException", ({ + enumerable: true, + get: function () { + return _util.InvalidPDFException; + } +})); +Object.defineProperty(exports, "MissingPDFException", ({ + enumerable: true, + get: function () { + return _util.MissingPDFException; + } +})); +Object.defineProperty(exports, "OPS", ({ + enumerable: true, + get: function () { + return _util.OPS; + } +})); +Object.defineProperty(exports, "PDFDataRangeTransport", ({ + enumerable: true, + get: function () { + return _api.PDFDataRangeTransport; + } +})); +Object.defineProperty(exports, "PDFDateString", ({ + enumerable: true, + get: function () { + return _display_utils.PDFDateString; + } +})); +Object.defineProperty(exports, "PDFWorker", ({ + enumerable: true, + get: function () { + return _api.PDFWorker; + } +})); +Object.defineProperty(exports, "PasswordResponses", ({ + enumerable: true, + get: function () { + return _util.PasswordResponses; + } +})); +Object.defineProperty(exports, "PermissionFlag", ({ + enumerable: true, + get: function () { + return _util.PermissionFlag; + } +})); +Object.defineProperty(exports, "PixelsPerInch", ({ + enumerable: true, + get: function () { + return _display_utils.PixelsPerInch; + } +})); +Object.defineProperty(exports, "PromiseCapability", ({ + enumerable: true, + get: function () { + return _util.PromiseCapability; + } +})); +Object.defineProperty(exports, "RenderingCancelledException", ({ + enumerable: true, + get: function () { + return _display_utils.RenderingCancelledException; + } +})); +Object.defineProperty(exports, "SVGGraphics", ({ + enumerable: true, + get: function () { + return _api.SVGGraphics; + } +})); +Object.defineProperty(exports, "UnexpectedResponseException", ({ + enumerable: true, + get: function () { + return _util.UnexpectedResponseException; + } +})); +Object.defineProperty(exports, "Util", ({ + enumerable: true, + get: function () { + return _util.Util; + } +})); +Object.defineProperty(exports, "VerbosityLevel", ({ + enumerable: true, + get: function () { + return _util.VerbosityLevel; + } +})); +Object.defineProperty(exports, "XfaLayer", ({ + enumerable: true, + get: function () { + return _xfa_layer.XfaLayer; + } +})); +Object.defineProperty(exports, "build", ({ + enumerable: true, + get: function () { + return _api.build; + } +})); +Object.defineProperty(exports, "createValidAbsoluteUrl", ({ + enumerable: true, + get: function () { + return _util.createValidAbsoluteUrl; + } +})); +Object.defineProperty(exports, "getDocument", ({ + enumerable: true, + get: function () { + return _api.getDocument; + } +})); +Object.defineProperty(exports, "getFilenameFromUrl", ({ + enumerable: true, + get: function () { + return _display_utils.getFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getPdfFilenameFromUrl", ({ + enumerable: true, + get: function () { + return _display_utils.getPdfFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getXfaPageViewport", ({ + enumerable: true, + get: function () { + return _display_utils.getXfaPageViewport; + } +})); +Object.defineProperty(exports, "isDataScheme", ({ + enumerable: true, + get: function () { + return _display_utils.isDataScheme; + } +})); +Object.defineProperty(exports, "isPdfFile", ({ + enumerable: true, + get: function () { + return _display_utils.isPdfFile; + } +})); +Object.defineProperty(exports, "loadScript", ({ + enumerable: true, + get: function () { + return _display_utils.loadScript; + } +})); +Object.defineProperty(exports, "normalizeUnicode", ({ + enumerable: true, + get: function () { + return _util.normalizeUnicode; + } +})); +Object.defineProperty(exports, "renderTextLayer", ({ + enumerable: true, + get: function () { + return _text_layer.renderTextLayer; + } +})); +Object.defineProperty(exports, "setLayerDimensions", ({ + enumerable: true, + get: function () { + return _display_utils.setLayerDimensions; + } +})); +Object.defineProperty(exports, "shadow", ({ + enumerable: true, + get: function () { + return _util.shadow; + } +})); +Object.defineProperty(exports, "updateTextLayer", ({ + enumerable: true, + get: function () { + return _text_layer.updateTextLayer; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function () { + return _api.version; + } +})); +var _util = __w_pdfjs_require__(1); +var _api = __w_pdfjs_require__(124); +var _display_utils = __w_pdfjs_require__(168); +var _text_layer = __w_pdfjs_require__(195); +var _annotation_editor_layer = __w_pdfjs_require__(196); +var _tools = __w_pdfjs_require__(165); +var _annotation_layer = __w_pdfjs_require__(198); +var _worker_options = __w_pdfjs_require__(176); +var _xfa_layer = __w_pdfjs_require__(201); +const pdfjsVersion = '3.10.111'; +const pdfjsBuild = 'e142baecb'; +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=pdf.js.map \ No newline at end of file diff --git a/build/pdf.js.map b/build/pdf.js.map index 0680d9a..5478c5c 100644 --- a/build/pdf.js.map +++ b/build/pdf.js.map @@ -1 +1 @@ -{"version":3,"sources":["build/pdf.js"],"names":["root","factory","exports","module","define","amd","pdfjsLib","globalThis","__webpack_modules__","__unused_webpack_module","__w_pdfjs_require__","Object","defineProperty","value","VerbosityLevel","Util","UnknownErrorException","UnexpectedResponseException","UNSUPPORTED_FEATURES","TextRenderingMode","StreamType","RenderingIntentFlag","PermissionFlag","PasswordResponses","PasswordException","PageActionEventType","OPS","MissingPDFException","LINE_FACTOR","LINE_DESCENT_FACTOR","InvalidPDFException","ImageKind","IDENTITY_MATRIX","FormatError","FontType","FeatureTest","FONT_IDENTITY_MATRIX","DocumentActionEventType","CMapCompressionType","BaseException","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMode","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationEditorType","AnnotationEditorPrefix","AnnotationEditorParamsType","AnnotationBorderStyleType","AnnotationActionEventType","AbortException","arrayByteLength","arraysToBytes","arr","length","Uint8Array","let","resultLength","i","pos","data","item","itemLength","stringToBytes","byteLength","set","assert","cond","msg","unreachable","bytesToString","bytes","undefined","String","fromCharCode","apply","strBuf","chunkEnd","Math","min","chunk","subarray","push","join","createPromiseCapability","capability","create","isSettled","get","promise","Promise","resolve","reject","reason","createValidAbsoluteUrl","url","baseUrl","arguments","options","dots","addDefaultProtocol","startsWith","match","tryConvertEncoding","stringToUTF8String","ex","absoluteUrl","URL","protocol","escapeString","str","replace","getModificationDate","date","Date","buffer","getUTCFullYear","toString","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getVerbosityLevel","verbosity","info","INFOS","console","log","isArrayBuffer","v","isArrayEqual","arr1","arr2","ii","isAscii","test","objectFromMap","map","obj","key","objectSize","keys","setVerbosityLevel","level","Number","isInteger","shadow","string32","stringToPDFString","encoding","decoder","TextDecoder","fatal","decode","warn","code","PDFStringTranslateTable","charCodeAt","charAt","stringToUTF16BEString","buf","char","utf8StringToString","unescape","encodeURIComponent","_pdfjsCompatibilityChecked","ANY","DISPLAY","PRINT","ANNOTATIONS_FORMS","ANNOTATIONS_STORAGE","ANNOTATIONS_DISABLE","OPLIST","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","NONE","FREETEXT","INK","FREETEXT_SIZE","FREETEXT_COLOR","FREETEXT_OPACITY","INK_COLOR","INK_THICKNESS","INK_OPACITY","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","F","V","C","WC","WS","DS","WP","DP","O","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1STANDARD","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotation","endAnnotation","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","forms","javaScript","signatures","smask","shadingPattern","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontBuildPath","errorFontGetPath","errorMarkedContent","errorContentSubStream","NEED_PASSWORD","INCORRECT_PASSWORD","Error","prop","enumerable","configurable","writable","prototype","constructor","message","name","this","super","details","status","isLittleEndian","buffer8","view32","Uint32Array","isEvalSupported","Function","e","isOffscreenCanvasSupported","OffscreenCanvas","hexNumbers","Array","n","makeHexColor","r","g","b","scaleMinMax","minMax","temp","m1","m2","applyTransform","p","m","applyInverseTransform","d","getAxialAlignedBoundingBox","p1","p2","slice","p3","p4","max","inverseTransform","singularValueDecompose2dScale","transpose","a","c","first","second","sqrt","sy","normalizeRect","rect","intersect","rect1","rect2","yLow","xLow","xHigh","yHigh","bezierBoundingBox","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t","t1","t2","b2ac","sqrtb2ac","abs","j","mt","jlen","decodeURIComponent","escape","__unused_webpack_exports","_is_node","btoa","isNodeJS","chars","Buffer","from","atob","input","DOMMatrix","require","ReadableStream","at","structuredClone","process","versions","nw","electron","type","entryUnbind","$","toObject","lengthOfArrayLike","toIntegerOrInfinity","addToUnscopables","target","proto","index","len","relativeIndex","k","global","getOwnPropertyDescriptor","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","source","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","targetProperty","dontCallGetSet","forced","sham","check","it","window","self","DESCRIPTORS","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","f","P","error","fails","exec","NATIVE_BIND","bind","hasOwnProperty","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","bitmap","IndexedObject","requireObjectCoercible","uncurryThis","classof","$Object","split","classofRaw","uncurryThisRaw","fn","stringSlice","FunctionPrototype","uncurryThisWithBind","isNullOrUndefined","$TypeError","TypeError","toPrimitive","isSymbol","argument","isObject","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","pref","exoticToPrim","result","isCallable","$documentAll","documentAll","all","IS_HTMLDDA","document","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","namespace","method","NATIVE_SYMBOL","Symbol","iterator","V8_VERSION","getOwnPropertySymbols","symbol","version","userAgent","Deno","v8","aCallable","func","tryToString","$String","val","valueOf","shared","uid","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","IS_PURE","store","mode","copyright","license","SHARED","id","postfix","random","createElement","EXISTS","definePropertyModule","object","V8_PROTOTYPE_DEFINE_BUG","anObject","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","makeBuiltIn","simple","unsafe","nonConfigurable","nonWritable","CONFIGURABLE_FUNCTION_NAME","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","state","getDescriptor","PROPER","functionToString","STATE","NATIVE_WEAK_MAP","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","has","metadata","facade","getterFor","TYPE","ownKeys","getOwnPropertyDescriptorModule","exceptions","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","concat","internalObjectKeys","getOwnPropertyNames","indexOf","names","createMethod","IS_INCLUDES","$this","el","fromIndex","toAbsoluteIndex","includes","integer","trunc","number","ceil","floor","x","toLength","feature","detection","normalize","POLYFILL","NATIVE","replacement","string","toLowerCase","UNSCOPABLES","ArrayPrototype","EmptyConstructor","NullProtoObjectViaActiveX","activeXDocument","write","scriptTag","close","parentWindow","definePropertiesModule","enumBugKeys","html","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","content","NullProtoObject","ActiveXObject","domain","iframe","JS","style","display","appendChild","src","iframeDocument","contentWindow","open","Properties","objectKeys","defineProperties","props","CONSTRUCTOR","METHOD","ArrayBufferViewCore","aTypedArray","exportTypedArrayMethod","getTypedArrayConstructor","getPrototypeOf","TYPED_ARRAY_CONSTRUCTOR","isTypedArray","klass","TypedArrayConstructorsList","BigIntArrayConstructorsList","NAME","Constructor","Prototype","NATIVE_ARRAY_BUFFER","setPrototypeOf","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","aTypedArrayConstructor","KEY","property","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","isView","ArrayBuffer","DataView","TO_STRING_TAG_SUPPORT","CORRECT_ARGUMENTS","tag","callee","CORRECT_PROTOTYPE_GETTER","aPossiblePrototype","CORRECT_SETTER","__proto__","path","Iterators","defineIterator","createIterResultObject","ARRAY_ITERATOR","setInternalState","values","iterated","kind","Arguments","returnThis","FunctionName","createIteratorConstructor","setToStringTag","IteratorsCore","PROPER_FUNCTION_NAME","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","VALUES","ENTRIES","Iterable","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","getIterationMethod","KIND","defaultIterator","IterablePrototype","methods","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","CurrentIteratorPrototype","ENUMERABLE_NEXT","arrayIterator","PrototypeOfArrayIteratorPrototype","TAG","done","init","InternalMetadataModule","iterate","anInstance","checkCorrectnessOfIteration","inheritIfRequired","CONSTRUCTOR_NAME","wrapper","common","fixMethod","uncurriedNativeMethod","NativePrototype","IS_WEAK","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","IS_MAP","ADDER","NativeConstructor","exported","forEach","getConstructor","enable","iterable","$instance","dummy","that","AS_ENTRIES","clear","setStrong","setMetadata","METADATA","objectID","weakData","getOwnPropertyNamesExternalModule","isExtensible","FREEZING","meta","splice","fastKey","getWeakData","onFreeze","$getOwnPropertyNames","arraySlice","windowNames","createProperty","$Array","start","end","fin","propertyKey","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","FAILS_ON_PRIMITIVES","preventExtensions","Result","stopped","isArrayIteratorMethod","getIterator","getIteratorMethod","iteratorClose","ResultPrototype","unboundFunction","stop","condition","callFn","INTERRUPTED","step","IS_RECORD","IS_ITERATOR","iterFn","usingIterator","iteratorMethod","innerResult","innerError","SAFE_CLOSING","called","iteratorWithReturn","return","SKIP_CLOSING","ITERATION_SUPPORT","Wrapper","NewTarget","NewTargetPrototype","defineBuiltIns","setSpecies","internalStateGetterFor","entry","getEntry","last","previous","removed","size","delete","prev","callbackfn","boundFunction","add","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","SPECIES","checkBasicSemantic","structuredCloneImplementation","set1","Set","set2","checkErrorsCloning","$Error","stack","throwUncloneable","DOMException","DATA_CLONE_ERROR","throwUnpolyfillable","action","structuredCloneInternal","mapHas","mapGet","Map","cloned","dataTransfer","deep","RegExp","getRegExpFlags","getBuiltin","EvalError","RangeError","ReferenceError","SyntaxError","URIError","CompileError","LinkError","RuntimeError","byteOffset","DOMQuad","nativeRestrictedStructuredClone","DataTransfer","ClipboardEvent","clipboardData","items","files","ImageData","width","height","colorSpace","thisBooleanValue","thisNumberValue","thisStringValue","thisTimeValue","setUint8","getUint8","fromPoint","y","z","w","fromRect","fromMatrix","clone","File","mapSet","setAdd","cause","errors","ERROR_STACK_INSTALLABLE","isConstructor","validateArgumentsLength","V8","IS_BROWSER","IS_DENO","IS_NODE","PerformanceMark","WebAssembly","MapPrototype","getTime","PERFORMANCE_MARK","TRANSFERRING","nativeStructuredClone","FORCED_REPLACEMENT","AggregateError","structuredCloneFromMark","detail","PROPER_TRANSFER","transfer","tryToTransfer","rawTransfer","transferredArray","transferred","canvas","getContext","transferFromImageBitmap","transferToImageBitmap","noop","isConstructorModern","construct","empty","isConstructorLegacy","INCORRECT_TO_STRING","constructorRegExp","passed","required","regExpFlags","RegExpPrototype","R","flags","hasIndices","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","build","RenderTask","PDFWorkerUtil","PDFWorker","PDFPageProxy","PDFDocumentProxy","PDFDocumentLoadingTask","PDFDataRangeTransport","LoopbackPort","DefaultStandardFontDataFactory","DefaultCanvasFactory","DefaultCMapReaderFactory","getDocument","setPDFNetworkStreamFactory","_util","_annotation_storage","_display_utils","_font_loader","_canvas","_worker_options","_message_handler","_metadata","_optional_content_config","_transport_stream","_xfa_text","_classPrivateMethodInitSpec","privateSet","_checkPrivateRedeclaration","_classPrivateMethodGet","receiver","_classPrivateFieldSet","privateMap","_classApplyDescriptorSet","_classExtractFieldDescriptor","_classPrivateFieldInitSpec","privateCollection","_classPrivateFieldGet","_classApplyDescriptorGet","_classStaticPrivateFieldSpecSet","classConstructor","_classCheckPrivateStaticAccess","_classCheckPrivateStaticFieldDescriptor","_classStaticPrivateFieldSpecGet","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DOMCanvasFactory","DOMCMapReaderFactory","DOMStandardFontDataFactory","NodeCanvasFactory","NodeCMapReaderFactory","NodeStandardFontDataFactory","createPDFNetworkStream","pdfNetworkStreamFactory","task","range","params","rangeTransport","worker","location","href","isNaN","CMapReaderFactory","StandardFontDataFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","enableXfa","rangeChunkSize","docBaseUrl","isDataScheme","maxImageSize","cMapUrl","standardFontDataUrl","useWorkerFetch","disableFontFace","useSystemFonts","ownerDocument","disableRange","disableStream","disableAutoFetch","workerParams","port","GlobalWorkerOptions","workerPort","fromPort","_worker","docId","then","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","contentDispositionFilename","httpHeaders","withCredentials","_ref","workerId","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","catch","_capability","async","pdfDataRangeTransport","await","sendWithPromise","apiVersion","password","evaluatorOptions","_PDFDocumentLoadingTa","_PDFDocumentLoadingTa2","_docId","onPassword","onProgress","onUnsupportedFeature","destroy","_this$_transport","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","addRangeListener","listener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","begin","onDataProgress","loaded","total","onDataProgressiveRead","onDataProgressiveDone","transportReady","requestDataRange","abort","pdfInfo","_pdfInfo","annotationStorage","numPages","fingerprints","stats","isPureXfa","_htmlForXfa","allXfaHtml","getPage","pageNumber","getPageIndex","ref","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getJSActions","getDocJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","saveDocument","getDownloadInfo","downloadInfoCapability","cleanup","startCleanup","loadingTask","loadingParams","getFieldObjects","hasJSActions","getCalculationOrderIds","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","StatTimer","_pdfBug","commonObjs","objs","PDFObjects","_bitmaps","cleanupAfterRender","pendingCleanup","_intentStates","_annotationPromises","rotate","userUnit","view","getViewport","scale","rotation","offsetX","offsetY","dontFlip","PageViewport","viewBox","getAnnotations","intent","intentArgs","getRenderingIntent","cacheKey","renderingIntent","_jsActionsPromise","getPageJSActions","getXfa","_this$_transport$_htm","children","render","_ref2","canvasContext","viewport","annotationMode","canvasFactory","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","printAnnotationStorage","_this$_stats","time","intentState","streamReaderCancelTimeout","clearTimeout","_this$_stats2","canvasFactoryInstance","intentPrint","complete","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","separateAnnots","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","_this$_stats3","timeEnd","_this$_stats4","InternalRenderTask","callback","useRequestAnimationFrame","_intentState","renderTask","_ref3","_this$_stats5","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","getOperatorList","opListTask","opListReadCapability","_intentState2","_this$_stats6","streamTextContent","disableCombineTextItems","includeMarkedContent","sendWithStream","combineTextItems","highWaterMark","textContent","getTextContent","xfa","XfaText","readableStream","reader","getReader","styles","pump","read","_ref4","assign","getStructTree","_structTreePromise","_destroy","waitOn","force","completed","cancel","resetStats","_startRenderPage","_intentState$displayR","_this$_stats7","_renderPageChunk","operatorListChunk","_ref5","annotationStorageMap","streamReader","_ref6","_ref7","RenderingCancelledException","setTimeout","curCacheKey","curIntentState","_listeners","_deferred","_document","_document$currentScri","postMessage","transfers","event","addEventListener","removeEventListener","terminate","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerId","pdfjsFilePath","currentScript","isSameOrigin","otherUrl","base","origin","other","createCDNWrapper","createObjectURL","Blob","_workerPorts","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_mainThreadWorkerMessageHandler","workerSrc","Worker","terminateEarly","onWorkerError","_setupFakeWorker","sendTest","testObj","_setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","setup","deprecated","_globalThis$pdfjsWork","pdfjsWorker","loader","mainWorkerMessageHandler","eval","loadScript","_docStats","_pageCache","_pagePromises","_metadataPromise","fontLoader","FontLoader","_onUnsupportedFeature","styleElement","_params","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","setupMessageHandler","AnnotationStorage","isOpList","annotationMap","PrintAnnotationStorage","serializable","getHash","page","resetModified","terminated","_getFieldObjectsPromise","_hasJSActionsPromise","cancelAllRequests","sink","getFullReader","evt","onPull","_ref8","enqueue","onCancel","ready","readyReason","headersCapability","fullReader","headersReady","_loadingTask$onProgre","isStreamingSupported","isRangeSupported","_loadingTask$onProgre2","contentLength","rangeReader","getRangeReader","_ref9","_ref10","_numPages","htmlForXfa","exception","updatePassword","_loadingTask$onProgre3","_ref11","exportedData","exportedError","fontRegistry","_globalThis$FontInspe","FontInspector","enabled","registerFont","font","fontAdded","FontFaceObject","finally","_ref12","imageData","pageProxy","_imageData$data","_loadingTask$onProgre4","freeze","streamTypes","fontTypes","fetch","_ref13","_this$loadingTask$onU","_this$loadingTask","featureId","_this$_fullReader","filename","cachedPromise","num","gen","results","OptionalContentConfig","Metadata","_this$_fullReader2","_this$_fullReader3","keepLoadedFonts","_objs","_ensureObj","WeakSet","objId","_ensureObj2","settled","_internalRenderTask","onContinue","form","_ref14","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_cancelBound","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","_ref15","_canvasInUse","_globalThis$StepperMa","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","beginDrawing","_this$graphicsReadyCa","_this$gfx","endDrawing","_this$stepper","updateOperatorList","requestAnimationFrame","executeOperatorList","_editor","_murmurhash","_setModified","_storage","_modified","onSetModified","onResetModified","onAnnotationEditor","getValue","defaultValue","getRawValue","remove","AnnotationEditor","setValue","modified","_setModified2","_type","getAll","print","serialized","serialize","hash","MurmurHash3_64","update","JSON","stringify","hexdigest","_serializable","parent","_tools","_defineProperty","_boundFocusin","_boundFocusout","_hasBeenSelected","_isEditing","_isInEditMode","_zIndex","parameters","focusin","focusout","div","viewportBaseDimensions","isAttachedToDOM","_defaultLineColor","_colorManager","getHexCode","setInBackground","zIndex","setInForeground","setSelected","relatedTarget","closest","preventDefault","isMultipleSelection","commitOrRemove","isEmpty","commit","addToAnnotationStorage","dragstart","getBoundingClientRect","startX","clientX","startY","clientY","setData","effectAllowed","setAt","tx","ty","screenToPageTranslation","left","top","translate","setDims","parentWidth","parentHeight","fixDims","widthPercent","endsWith","heightPercent","parseFloat","getInitialTranslation","setAttribute","className","bindEvents","pointerdown","isMac","KeyboardManager","platform","button","ctrlKey","shiftKey","metaKey","toggleSelected","getRect","pageWidth","pageHeight","pageDimensions","shiftX","shiftY","getRectInCurrentCoords","onceAdded","enableEditMode","disableEditMode","isInEditMode","shouldGetKeyboardEvents","needsToBeRebuilt","rebuild","_this$div","deserialize","editor","getNextId","select","_this$div2","classList","unselect","_this$div3","updateParams","disableEditing","enableEditing","propertiesToUpdate","contentDiv","isEditing","setActiveEditor","ColorManager","CommandManager","AnnotationEditorUIManager","element","opacityToHex","opacity","round","_id","IdManager","getId","_this$id","_this$id2","_commands","_locked","_maxSize","_position","maxSize","cmd","undo","mustExec","NaN","overwriteIfSameType","keepUndo","redo","hasSomethingToUndo","hasSomethingToRedo","_serialize","callbacks","allKeys","isMacKey","navigator","isWin","_serialize2","stopPropagation","altKey","_colors","colors","getColorValues","convert","color","rgb","getRGB","matchMedia","matches","RGB","every","_colorsMapping","_activeEditor","_allEditors","_allLayers","_commandManager","_currentPageIndex","_editorTypes","_eventBus","_idManager","_isEnabled","_mode","_selectedEditors","_boundCopy","_boundCut","_boundPaste","_boundKeydown","_boundOnEditingAction","_boundOnPageChanging","_previousStates","_container","_addKeyboardManager","_removeKeyboardManager","_addCopyPasteListeners","_removeCopyPasteListeners","_dispatchUpdateStates","_dispatchUpdateUI","_enableAll","_disableAll","_addEditorToLayer","_isEmpty","_selectEditors","container","eventBus","copy","cut","paste","keydown","onEditingAction","onPageChanging","hasSelectedEditor","_on","_removeKeyboardManager2","_off","layer","focusMainContainer","focus","hasSelection","editors","parse","isArray","unselectAll","newEditors","deserializedEditor","addCommands","_addEditorToLayer2","_selectEditors2","_this$getActive","getActive","_keyboardManager","setEditingState","_addKeyboardManager2","_addCopyPasteListeners2","_dispatchUpdateStates2","_isEmpty2","_removeCopyPasteListeners2","registerEditorTypes","types","editorType","_dispatchUpdateUI2","defaultPropertiesToUpdate","addLayer","disable","removeLayer","updateMode","_disableAll2","_enableAll2","updateToolbar","dispatch","updateDefaultParams","getEditors","getEditor","addEditor","removeEditor","ed","isSelected","_classPrivateFieldGet2","selectAll","isActive","getMode","some","addOrRebuild","PixelsPerInch","PDFDateString","DOMSVGFactory","AnnotationPrefix","span","visibility","body","append","computedColor","getComputedStyle","getCurrentTransform","ctx","getTransform","getCurrentTransformInverse","invertSelf","getFilenameFromUrl","anchor","query","substring","lastIndexOf","getPdfFilenameFromUrl","defaultFilename","reFilename","splitURI","suggestedFilename","getXfaPageViewport","xfaPage","attributes","parseInt","isPdfFile","isValidFetchUrl","removeScriptElement","script","onload","onerror","head","documentElement","_base_factory","CSS","PDF","BaseCanvasFactory","_createCanvas","fetchData","asTypedArray","baseURI","response","ok","arrayBuffer","text","statusText","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","responseText","BaseCMapReaderFactory","_fetchData","compressionType","cMapData","BaseStandardFontDataFactory","BaseSVGFactory","_createSVG","createElementNS","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","convertToViewportPoint","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","trim","started","times","now","outBuf","longest","duration","padEnd","pdfDateStringRegex","colorRGB","toDateObject","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","context","reset","canvasAndContext","skipDimensions","svg","SEED","MASK_HIGH","MASK_LOW","seed","h1","h2","blockCounts","tailLength","dataUint32","k1","k2","C1","C2","hex1","hex2","nativeFontFaces","loadingRequests","loadTestFontId","addNativeFontFace","nativeFontFace","fonts","insertRule","rule","getElementsByTagName","styleSheet","sheet","cssRules","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","hasFonts","_this$_document","supported","otherRequest","shift","_loadTestFont","testFont","int32","offset","spliceString","s","insert","isFontReady","fillText","getImageData","XXXX_VALUE","checksum","position","loadedName","fontFamily","translatedData","compiledGlyphs","css","cssFontInfo","weight","fontWeight","italicAngle","FontFace","_this$fontRegistry","_this$fontRegistry2","mimetype","getPathGenerator","character","cmds","jsBuf","args","_pattern_helper","_image_utils","MAX_GROUP_SIZE","MAX_SIZE_TO_COMPILE","Path2D","CachedCanvases","cache","getCanvas","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","rTlX","rTlY","rWidth","rHeight","setTransform","sign","drawImage","hypot","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","transferMaps","startNewPathAndClipBox","clipBox","setCurrentPoint","updatePathMinMax","minX","minY","maxX","maxY","updateRectMinMax","updateScalingPathMinMax","updateCurvePathMinMax","box","getPathBoundingBox","pathType","PathType","xStrokePad","yStrokePad","updateClipFromPath","isEmptyClip","Infinity","getClippedPathBoundingBox","putBinaryImageData","imgData","putImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","destPos","dest","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","mask","srcByte","hasTransferMaps","putBinaryImageMask","applyMaskImageData","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","foregroundColor","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskAlpha","maskData","layerData","transferMap","alpha","composeSMaskLuminosity","composeSMask","layerCtx","layerBox","layerOffsetX","layerOffsetY","layerWidth","layerHeight","genericComposeSMask","maskCtx","subtype","backdrop","maskOffsetX","maskOffsetY","hasBackdrop","r0","g0","b0","composeFn","chunkSize","row","chunkHeight","alpha_","composeSMaskBackdrop","getImageSmoothingEnabled","interpolate","actualScale","fround","devicePixelRatio","PDF_TO_CSS_UNITS","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","_restoreInitialState","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","suspendedCtx","contentVisible","markedContentStack","cachedCanvases","cachedPatterns","viewportScale","outputScaleX","outputScaleY","backgroundColor","foreground","_cachedScaleForStroking","_cachedGetSinglePixelWidth","_cachedBitmapsMap","getObject","fallback","defaultBackgroundColor","fg","bg","isValidDefaultBg","defaultBg","rB","gB","bB","newComp","lumB","selectColor","lumC","fillRect","transparentCanvas","compositeCtx","executionStartIdx","continueCallback","argsArrayLen","chunkOperations","endTime","steps","fnId","breakIt","depObjId","objsPool","_restoreInitialState2","HTMLCanvasElement","_scaleImage","img","tmpCanvas","tmpCtx","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","clearRect","_createMaskCanvas","isPatternFill","currentTransform","scaled","maskCanvas","count","mainKey","cachedImage","maskToCanvas","cord1","cord2","drawnWidth","drawnHeight","fillCanvas","fillCtx","imageSmoothingEnabled","inverse","getPattern","limit","dashArray","dashPhase","flatness","states","checkSMaskState","inSMaskMode","beginSMaskMode","endSMaskMode","cacheId","scratchCanvas","_removeMirroring","__originalSave","__originalRestore","__originalRotate","__originalScale","__originalTranslate","__originalTransform","__originalSetTransform","__originalResetTransform","resetTransform","__originalClip","__originalMoveTo","__originalLineTo","__originalBezierCurveTo","bezierCurveTo","__originalRect","__originalClosePath","__originalBeginPath","beginPath","angle","cp1x","cp1y","cp2x","cp2y","compose","dirtyBox","old","pop","ops","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","rescaleAndStroke","needRestore","paths","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","getSinglePixelWidth","glyph","restoreNeeded","measuredWidth","characterScaleX","scaledAccentX","isSpace","fontChar","accent","scaledX","scaledY","vmetric","vx","vy","remeasure","measureText","isInFont","scaledAccentY","charWidth","isTextInvisible","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","TilingPattern","createCanvasGraphics","_getPattern","_this$selectColor","_this$selectColor2","matrix","getShadingPattern","br","ul","ur","SHADING","inv","bl","bbox","group","currentCtx","isolated","knockout","canvasBounds","scaleX","scaleY","groupCtx","startTransformInverse","currentMtx","hasOwnCanvas","canvasWidth","canvasHeight","annotationCanvas","savedCtx","compiled","POINT_TYPES","width1","points","j0","lineSize","elem","sum","p0","pp","skewX","skewY","positions","trans","images","image","h","imgToPaint","HTMLElement","properties","visible","isVisible","isContentVisible","absDet","normX","normY","getScaleForStroking","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","savedMatrix","savedDashes","savedDashOffset","op","RadialAxialShadingPattern","MeshShadingPattern","DummyShadingPattern","applyBoundingBox","region","BaseShadingPattern","_bbox","_colorStops","_p0","_p1","_r0","_r1","_createGradient","grad","createLinearGradient","createRadialGradient","colorStop","addColorStop","owner","ownerBBox","createPattern","domMatrix","drawTriangle","c1","c2","c3","coords","rowSize","tmp","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","_coords","_figures","_bounds","_background","_createMeshCanvas","combinedScale","boundsWidth","boundsHeight","BORDER_SIZE","figure","drawFigure","ps","cs","verticesPerRow","rows","cols","q","matrixScale","temporaryPatternCanvas","PaintType","COLORED","UNCOLORED","MAX_PATTERN_SIZE","canvasGraphicsFactory","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","adjustedX0","adjustedY0","adjustedX1","adjustedY1","clipBbox","realOutputSize","cssColor","inverseDecode","opaque","zeroMapping","oneMapping","widthInSource","widthRemainder","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","stream","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","actionName","handler","ah","queueingStrategy","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","streamSink","lastDesiredSize","isCancelled","sinkCapability","success","streamController","_deleteStreamController","allSettled","_metadataMap","_data","parsedData","rawData","getRaw","INTERNAL","_visible","OptionalContentGroup","_setVisible","internal","_cachedGetHash","_groups","_initialHash","_order","_evaluateVisibilityExpression","_evaluateVisibilityExpression2","array","operator","creator","order","groups","baseState","off","expression","policy","ids","setVisibility","hasInitialVisibility","getOrder","getGroups","getGroup","_queuedChunks","_progressiveDone","_contentDispositionFilename","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","_onReceiveData","_onProgress","_onProgressiveDone","found","_enqueue","_begin","_progressiveDataLength","_this$_fullRequestRea","_loaded","_this$_fullRequestRea2","_this$_fullRequestRea3","_this$_rangeReaders$","_this$_rangeReaders$$","_this$_fullRequestRea4","_removeRangeReader","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","_this$_fullRequestRea5","_stream","_done","_filename","_requests","_headersReady","requestCapability","_end","_queuedChunk","output","walk","node","shouldBuildText","_node$attributes","child","readFile","createCanvas","AnnotationEditorLayer","_freetext","_ink","_accessibilityManager","_allowClick","_boundPointerup","_boundPointerdown","_editors","_hadPointerDown","_isCleaningUp","_uiManager","_changeParent","_createNewEditor","_createAndAddNewEditor","_cleanup","pointerup","_initialized","FreeTextEditor","initialize","l10n","InkEditor","uiManager","accessibilityManager","_cleanup2","addInkEditorIfNeeded","disableClick","enableClick","toggle","isCommitting","_createAndAddNewEditor2","pointerEvents","attach","detach","removePointerInTextLayer","activeElement","_changeParent2","moveEditorInDOM","_classPrivateFieldGet3","moveElementInDOM","addANewEditor","addUndoableEditor","annotationType","drop","endX","dropEffect","endY","dragover","_classPrivateFieldGet4","_classPrivateFieldGet5","setDimensions","scaleFactor","pageLLx","pageLLy","pageURx","pageURy","flipOrientation","widthStr","heightStr","_editor$parent","_createNewEditor2","_boundEditorDivBlur","_boundEditorDivFocus","_boundEditorDivInput","_boundEditorDivKeydown","_color","_content","_editorDivId","_hasAlreadyBeenCommitted","_fontSize","_updateFontSize","_updateColor","_extractText","_setEditorDimensions","editorDivBlur","editorDivFocus","editorDivInput","editorDivKeydown","_defaultColor","_defaultFontSize","_l10nPromise","_internalPadding","getPropertyValue","_updateFontSize2","_updateColor2","overlayDiv","editorDiv","contentEditable","draggable","removeAttribute","innerText","_extractText2","trimEnd","_setEditorDimensions2","dblclick","baseX","baseY","_this$editorDiv","_this$editorDiv2","line","createTextNode","padding","setFontsize","savedFontsize","savedColor","divs","firstChild","nodeName","_pdfjsFitCurve","fitCurve","_classStaticPrivateMethodGet","RESIZER_SIZE","TIME_TO_WAIT_BEFORE_FIXING_DIMS","_aspectRatio","_baseHeight","_baseWidth","_boundCanvasPointermove","_boundCanvasPointerleave","_boundCanvasPointerup","_boundCanvasPointerdown","_disableEditing","_isCanvasInitialized","_lastPoint","_observer","_realWidth","_realHeight","_requestFrameCallback","_updateThickness","_updateOpacity","_getInitialBBox","_setStroke","_startDrawing","_draw","_stopDrawing","_redraw","_endDrawing","_createObserver","_setCanvasDims","_setScaleFactor","_updateTransform","_serializePaths","_extractPointsOnBezier","_isAlmostFlat","_getBbox","_getPadding","_fitToContent","_setMinDims","canvasPointermove","canvasPointerleave","canvasPointerup","canvasPointerdown","thickness","bezierPath2D","currentPath","translationX","translationY","_defaultThickness","_defaultOpacity","_updateThickness2","_updateOpacity2","_createCanvas2","_createObserver2","_setCanvasDims2","_fitToContent2","disconnect","_startDrawing2","_draw2","_endDrawing2","_getInitialBBox2","_redraw2","_setMinDims2","roundedWidth","roundedHeight","_setScaleFactor2","bezier","p10","p11","p20","p21","p30","p31","path2D","_buildPath2D","_getBbox2","_serializePaths2","savedThickness","savedOpacity","_setStroke2","lastX","lastY","_stopDrawing2","xy","_updateTransform2","_this$canvas","timeoutId","ResizeObserver","contentRect","observe","_getPadding2","scaleFactorW","scaleFactorH","control1","control2","p40","p41","_extractPointsOnBezier2","_isAlmostFlat2","q20","q21","ay","by","xMin","xMax","yMin","yMax","prevTranslationX","prevTranslationY","unscaledPadding","firstTime","minHeight","minWidth","fitCubic","leftTangent","rightTangent","progressCallback","bezCurve","u","uPrime","maxError","prevErr","splitPoint","prevSplit","toCenterTangent","fromCenterTangent","dist","currU","prevU","prevP","maths","vectorLen","subtract","addArrays","mulItems","generateAndReport","newtonRaphsonRootFind","bez","point","qprime","numerator","mulMatrix","denominator","squareItems","qprimeprime","errChange","beziers","centerVector","paramsOrig","paramsPrime","A","alpha_l","alpha_r","epsilon","segLength","ux","firstPoint","lastPoint","zeros_Xx2x2","dot","det_C0_C1","det_C0_X","det_X_C1","maxDist","t_distMap","mapTtoRelativeDistances","param","B_parts","lenMax","lenMin","tMax","tMin","maxErr","maxPoint","B_t_curr","B_t_dist","B_t_prev","sumLen","createTangent","pointA","pointB","zs","multiplier","reduce","addItems","addition","divItems","divisor","ctrlPoly","pA","pB","pC","pD","filter","AnnotationLayer","_scripting_utils","_xfa_layer","GetElementsByNameSet","getRectDims","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","linkService","downloadManager","imageResourcesPath","renderForms","svgFactory","enableScripting","_fieldObjects","fieldObjects","_mouseState","mouseState","_createContainer","quadrilaterals","_createQuadrilaterals","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","borderRadius","borderBottomStyle","borderColor","setRotation","elementWidth","elementHeight","_commonActions","setColor","jsName","styleName","ColorConverters","hidden","preventScroll","userName","title","readonly","_setRequired","bgColor","fgColor","textColor","_dispatchEventFromSandbox","actions","jsEvent","commonActions","_setDefaultPropertiesFromJS","storedData","quadPoints","savedRect","quadPoint","_createPopup","trigger","popup","PopupElement","titleObj","modificationDate","contentsObj","richText","hideWrapper","_renderQuadrilaterals","quadrilateral","_getElementsByName","skipId","fields","fieldObj","exportValues","exportValue","domElement","querySelector","getElementsByName","getAttribute","_bindSetOCGState","isTooltipOnly","link","isBound","addLinkAttributes","newWindow","_bindNamedAction","attachment","_bindAttachment","setOCGState","_bindSetOCGState2","_bindLink","Action","_bindJSAction","resetForm","_bindResetFormAction","linkElement","cloneNode","destination","getDestinationHash","onclick","goToDestination","getAnchorUrl","executeNamedAction","_this$downloadManager","openOrDownloadData","_this$linkService$eve","otherClickAction","resetFormFields","refs","resetFormRefs","include","allFields","fieldIds","fieldName","field","storage","allIds","dispatchEvent","Event","_this$linkService$eve2","executeSetOCGState","_parameters$data$rich","hasPopup","_parameters$data$titl","_parameters$data$cont","alt","dataset","l10nId","l10nArgs","alternativeText","_getKeyModifier","_setEventListener","baseName","eventName","valueGetter","_this$linkService$eve3","modifier","_this$linkService$eve4","_setEventListeners","_this$data$actions","_setBackgroundColor","_setTextStyle","fontColor","defaultAppearanceData","computedFontSize","numberOfLines","roundToOneDecimal","multiLine","textAlignment","textAlign","isRequired","hasAppearance","fieldValue","setPropertyOnSiblings","keyInStorage","formattedValue","combWidth","maxLen","charLimit","elementData","userValue","valueOnFocus","doNotScroll","overflowY","overflowX","disabled","readOnly","tabIndex","maxLength","defaultFieldValue","blurListener","scrollLeft","selRange","setSelectionRange","_this$linkService$eve5","willCommit","commitKey","selStart","selectionStart","selEnd","selectionEnd","_this$linkService$eve6","_blurListener","_this$linkService$eve7","isDown","_this$data$actions2","Keystroke","inputType","_this$linkService$eve8","change","comb","letterSpacing","verticalAlign","checked","checkbox","curChecked","buttonValue","radio","pdfButtonValue","lastChild","selectElement","addAnEmptyEntry","combo","multiSelect","multiple","option","selected","optionElement","displayValue","removeEmptyEntry","noneOptionElement","prepend","isExport","selectedIndex","getItems","_removeEmptyEntry","multipleSelection","findIndex","selectChild","before","indices","editable","_this$linkService$eve9","changeEx","keyDown","IGNORE_TYPES","parentType","_data$titleObj","_data$contentsObj","_data$richText","popupLeft","popupTop","parentElements","querySelectorAll","parentId","parentRect","pinned","hideElement","dateObject","dir","toLocaleDateString","toLocaleTimeString","_this$richText","_this$contentsObj","contents","_formatContents","XfaLayer","xfaHtml","_toggle","_show","_hide","lines","_parameters$data$rich2","_parameters$data$titl2","_parameters$data$cont2","lineSpan","_parameters$data$rich3","_parameters$data$titl3","_parameters$data$cont3","lineCoordinates","_parameters$data$rich4","_parameters$data$titl4","_parameters$data$cont4","square","_parameters$data$rich5","_parameters$data$titl5","_parameters$data$cont5","circle","_parameters$data$rich6","_parameters$data$titl6","_parameters$data$cont6","containerClassName","svgElementName","coordinate","vertices","polyline","_parameters$data$rich7","_parameters$data$titl7","_parameters$data$cont7","_parameters$data$rich8","_parameters$data$titl8","_parameters$data$cont8","inkList","inkLists","_parameters$data$rich9","_parameters$data$titl9","_parameters$data$cont9","_parameters$data$rich10","_parameters$data$titl10","_parameters$data$cont10","_parameters$data$rich11","_parameters$data$titl11","_parameters$data$cont11","_parameters$data$rich12","_parameters$data$titl12","_parameters$data$cont12","_parameters$data$rich13","_parameters$data$titl13","_parameters$data$cont13","_this$linkService$eve10","file","_this$data$contentsOb","_download","_this$data$titleObj","_this$downloadManager2","_appendElement","contentElement","_setDimensions","_setAnnotationCanvasMap","replaceWith","annotations","rendered","renderedElement","makeColorComp","CMYK_G","G_CMYK","G_RGB","G_HTML","G","RGB_G","RGB_HTML","T_HTML","CMYK_RGB","CMYK_HTML","components","RGB_CMYK","setupStorage","xfaOn","xfaOff","setAttributes","isHTMLAnchorElement","HTMLAnchorElement","dataId","rootHtml","rootDiv","textDivs","childHtml","_child$attributes","xmlns","TextLayerRenderTask","renderTextLayer","renderParameters","textContentStream","textContentItemsStr","_render","timeout","DEFAULT_FONT_SIZE","DEFAULT_FONT_ASCENT","ascentCache","appendText","geom","textDiv","textDivProperties","hasText","hasEOL","_textDivs","_viewport","atan2","fontName","fontHeight","fontAscent","cachedAscent","ascent","metrics","fontBoundingBoxAscent","descent","fontBoundingBoxDescent","ratio","pixels","shouldScaleText","sin","cos","_fontInspectorEnabled","absScaleX","absScaleY","_textDivProperties","_textContentStream","_layoutText","_canceled","textDivsLength","_renderingDone","_textContent","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_devicePixelRatio","_processItems","styleCache","parentNode","textItems","textStyles","SVGGraphics","SVG_DEFAULTS","fontStyle","contentType","digits","b1","b2","b3","d3","d4","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","deflateSyncUncompressed","literals","maxBlockLength","deflateBlocks","idat","pi","adler","encode","forceDataSchema","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","pf","toFixed","pm","acos","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","loadDependencies","getSVG","svgElement","convertOpList","operatorIdMapping","opList","opListToTree","opTree","opListElement","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","_current$txtElement","hasChildNodes","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","childNodes","shadingId","colorStops","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","getAttributeNS","clipId","clipPath","clipElement","_this$current$element","_this$current$element2","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","PDFNodeStream","_network_utils","fs","http","https","fileUriRegex","sourceUrl","parsedUrl","host","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_storedError","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_this$onProgress","_error","_setReadableStream","BaseRangeReader","_this$onProgress2","createRequestOptions","headers","auth","hostname","handleResponse","getResponseHeader","suggestedLength","statusCode","allowRangeRequests","validateRangeRequestCapabilities","extractFilenameFromHeader","_request","_httpHeaders","Range","lstat","createReadStream","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","contentDispositionStr","iter","quot","part","parts","attributePattern","textdecode","quotindex","extvalue","encodingend","charset","hex","PDFNetworkStream","NetworkManager","getXhr","currXhrId","pendingRequests","requestRange","listeners","requestFull","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onError","onStateChange","onprogress","onHeadersReceived","onDone","_pendingRequest$onPro","_pendingRequest$onErr","xhrStatus","rangeHeader","_pendingRequest$onErr3","_pendingRequest$onErr2","getRequestXhr","isPendingRequest","abortRequest","_source","_manager","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","lengthComputable","_requestId","_close","_this$onClosed","PDFFetchStream","createFetchOptions","abortController","signal","credentials","redirect","createHeaders","Headers","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","_abortController","AbortController","_headers","_this$_reader","_this$_reader2","__webpack_module_cache__","moduleId","cachedModule","__webpack_exports__","_annotation_editor_layer","_annotation_layer","_api","_svg","_text_layer"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.error.cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-call.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-native.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-null-or-undefined.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-property-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/try-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-global-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has-own-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/make-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-name.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/weak-map-basic-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/math-trunc.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/length-of-array-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-apply.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/proxy-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/normalize-string-argument.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/install-error-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-install.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-clear.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-installable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.delete.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/validate-arguments-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.has.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.size.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-built-in-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.push.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-set-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.find-last.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-iteration-from-last.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-offset.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-positive-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-to-reversed.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-big-int-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-big-int.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.detached.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-is-detached.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-byte-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-browser.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-deno.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.difference.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-difference.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-helpers.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate-simple.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-size.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-set-record.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-direct.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-method-accept-set-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.intersection.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-intersection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-disjoint-from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-close.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-subset-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-superset-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-symmetric-difference.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.union.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-union.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.dom-exception.stack.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/dom-exception-constants.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-get-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/map-helpers.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/display/editor/editor.js","webpack://pdfjs-dist/build/pdf/src/display/editor/tools.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.json.parse.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/parse-json-string.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/shared/murmurhash3.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/shared/image_utils.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array.group.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-group.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/annotation_editor_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/freetext.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/web/l10n_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/ink.js","webpack://pdfjs-dist/build/pdf/src/display/editor/stamp.js","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = root.pdfjsLib = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(globalThis, () => {\nreturn ","/* 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/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6; // Ten megabytes.\n\n// Represent the percentage of the height of a single-line field over\n// the font size. Acrobat seems to use this value.\nconst LINE_FACTOR = 1.35;\nconst LINE_DESCENT_FACTOR = 0.35;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\n\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15,\n};\n\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n // PLEASE NOTE: We purposely keep any removed operators commented out, since\n // re-numbering the list would risk breaking third-party users.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n // beginAnnotations: 78,\n // endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n // paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value, nonSerializable = false) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\nfunction string32(value) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(\n this,\n \"isOffscreenCanvasSupported\",\n typeof OffscreenCanvas !== \"undefined\"\n );\n }\n\n static get platform() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof navigator === \"undefined\"\n ) {\n return shadow(this, \"platform\", { isWin: false, isMac: false });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\"),\n });\n }\n\n static get isCSSRoundSupported() {\n return shadow(\n this,\n \"isCSSRoundSupported\",\n globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\")\n );\n }\n}\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Apply a scaling matrix to some min/max values.\n // If a scaling factor is negative then min and max must be\n // swaped.\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'null'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n const xLow = Math.max(\n Math.min(rect1[0], rect1[2]),\n Math.min(rect2[0], rect2[2])\n );\n const xHigh = Math.min(\n Math.max(rect1[0], rect1[2]),\n Math.max(rect2[0], rect2[2])\n );\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(\n Math.min(rect1[1], rect1[3]),\n Math.min(rect2[1], rect2[3])\n );\n const yHigh = Math.min(\n Math.max(rect1[1], rect1[3]),\n Math.max(rect2[1], rect2[3])\n );\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\nclass PromiseCapability {\n #settled = false;\n\n constructor() {\n /**\n * @type {Promise} The Promise object.\n */\n this.promise = new Promise((resolve, reject) => {\n /**\n * @type {function} Fulfills the Promise.\n */\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n\n /**\n * @type {function} Rejects the Promise.\n */\n this.reject = reason => {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(reason instanceof Error, 'Expected valid \"reason\" argument.');\n }\n this.#settled = true;\n reject(reason);\n };\n });\n }\n\n /**\n * @type {boolean} If the Promise has been fulfilled/rejected.\n */\n get settled() {\n return this.#settled;\n }\n}\n\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n // In order to generate the following regex:\n // - create a PDF containing all the chars in the range 0000-FFFF with\n // a NFKC which is different of the char.\n // - copy and paste all those chars and get the ones where NFKC is\n // required.\n // It appears that most the chars here contain some ligatures.\n NormalizeRegex =\n /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\n\nfunction getUuid() {\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\")\n ) {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto?.getRandomValues === \"function\"\n ) {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationEditorParamsType,\n AnnotationEditorPrefix,\n AnnotationEditorType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationType,\n assert,\n BaseException,\n BASELINE_FACTOR,\n bytesToString,\n CMapCompressionType,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n FeatureTest,\n FONT_IDENTITY_MATRIX,\n FormatError,\n getModificationDate,\n getUuid,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isNodeJS,\n LINE_DESCENT_FACTOR,\n LINE_FACTOR,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n normalizeUnicode,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","'use strict';\n/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.32.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.32.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n installErrorStack(result, WrappedError, result.stack, 2);\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLast = require('../internals/array-iteration-from-last').findLast;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLast` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast\nexportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {\n return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ findLast, findLastIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_FIND_LAST_INDEX = TYPE === 1;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var index = lengthOfArrayLike(self);\n var value, result;\n while (index-- > 0) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (result) switch (TYPE) {\n case 0: return value; // findLast\n case 1: return index; // findLastIndex\n }\n }\n return IS_FIND_LAST_INDEX ? -1 : undefined;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.findLast` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLast: createMethod(0),\n // `Array.prototype.findLastIndex` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLastIndex: createMethod(1)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLastIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex\nexportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {\n return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nmodule.exports = function (O, C) {\n var len = lengthOfArrayLike(O);\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nmodule.exports = function (O, C, index, value) {\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n if (actualIndex >= len || actualIndex < 0) throw $RangeError('Incorrect index');\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];\n return A;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar slice = uncurryThis(ArrayBuffer.prototype.slice);\n\nmodule.exports = function (O) {\n if (arrayBufferByteLength(O) !== 0) return false;\n try {\n slice(O, 0, 0);\n return false;\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar classof = require('../internals/classof-raw');\n\nvar $TypeError = TypeError;\n\n// Includes\n// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).\n// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.\nmodule.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {\n if (classof(O) !== 'ArrayBuffer') throw $TypeError('ArrayBuffer expected');\n return O.byteLength;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar isDetached = require('../internals/array-buffer-is-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar PROPER_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar TypeError = global.TypeError;\nvar structuredClone = global.structuredClone;\nvar ArrayBuffer = global.ArrayBuffer;\nvar DataView = global.DataView;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n if (isDetached(arrayBuffer)) throw TypeError('ArrayBuffer is detached');\n var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength === newByteLength && (preserveResizability || fixedLength)) return newBuffer;\n if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) return slice(newBuffer, 0, newByteLength);\n var options = (preserveResizability && !fixedLength) && maxByteLength ? { maxByteLength: maxByteLength(newBuffer) } : undefined;\n var newNewBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(newBuffer);\n var b = new DataView(newNewBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n return newNewBuffer;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/engine-v8-version');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar structuredClone = global.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength !== 0 || clone.byteLength !== 8;\n});\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isNodeJS,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n PasswordException,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n AnnotationStorage,\n PrintAnnotationStorage,\n SerializableEmpty,\n} from \"./annotation_storage.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMFilterFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n isValidFetchUrl,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeFilterFactory,\n NodeStandardFontDataFactory,\n} from \"display-node_utils\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { PDFFetchStream } from \"display-fetch_stream\";\nimport { PDFNetworkStream } from \"display-network\";\nimport { PDFNodeStream } from \"display-node_stream\";\nimport { SVGGraphics } from \"display-svg\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\nconst DELAYED_CLEANUP_TIMEOUT = 5000; // ms\n\nconst DefaultCanvasFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultFilterFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeFilterFactory\n : DOMFilterFactory;\nconst DefaultStandardFontDataFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef { TypedArray | ArrayBuffer | Array | string } BinaryData\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string | URL} [url] - The URL of the PDF.\n * @property {BinaryData} [data] - Binary PDF data.\n * Use TypedArrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n *\n * NOTE: If TypedArrays are used they will generally be transferred to the\n * worker-thread. This will help reduce main-thread memory usage, however\n * it will take ownership of the TypedArrays.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not. The default value is `true`.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [isOffscreenCanvasSupported] - Determines if we can use\n * `OffscreenCanvas` in the worker. Primarily used to improve performance of\n * image conversion/rendering.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {number} [canvasMaxAreaInBytes] - The integer value is used to\n * know when an image must be resized (uses `OffscreenCanvas` in the worker).\n * If it's -1 then a possibly slow algorithm is used to guess the max value.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object} [filterFactory] - A factory instance that will be used\n * to create SVG filters when rendering some images on the main canvas.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string | URL | TypedArray | ArrayBuffer | DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = { url: src };\n } else if (isArrayBuffer(src)) {\n src = { data: src };\n }\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n const task = new PDFDocumentLoadingTask();\n const { docId } = task;\n\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport =\n src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize =\n Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0\n ? src.rangeChunkSize\n : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n const docBaseUrl =\n typeof src.docBaseUrl === \"string\" && !isDataScheme(src.docBaseUrl)\n ? src.docBaseUrl\n : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl =\n typeof src.standardFontDataUrl === \"string\"\n ? src.standardFontDataUrl\n : null;\n const StandardFontDataFactory =\n src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize =\n Number.isInteger(src.maxImageSize) && src.maxImageSize > -1\n ? src.maxImageSize\n : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported =\n typeof src.isOffscreenCanvasSupported === \"boolean\"\n ? src.isOffscreenCanvasSupported\n : !isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes)\n ? src.canvasMaxAreaInBytes\n : -1;\n const disableFontFace =\n typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n\n // Parameters whose default values depend on other parameters.\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts =\n typeof src.useSystemFonts === \"boolean\"\n ? src.useSystemFonts\n : !isNodeJS && !disableFontFace;\n const useWorkerFetch =\n typeof src.useWorkerFetch === \"boolean\"\n ? src.useWorkerFetch\n : (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (CMapReaderFactory === DOMCMapReaderFactory &&\n StandardFontDataFactory === DOMStandardFontDataFactory &&\n cMapUrl &&\n standardFontDataUrl &&\n isValidFetchUrl(cMapUrl, document.baseURI) &&\n isValidFetchUrl(standardFontDataUrl, document.baseURI));\n const canvasFactory =\n src.canvasFactory || new DefaultCanvasFactory({ ownerDocument });\n const filterFactory =\n src.filterFactory || new DefaultFilterFactory({ docId, ownerDocument });\n\n // Parameters only intended for development/testing purposes.\n const styleElement =\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")\n ? src.styleElement\n : null;\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(verbosity);\n\n // Ensure that the various factories can be initialized, when necessary,\n // since the user may provide *custom* ones.\n const transportFactory = {\n canvasFactory,\n filterFactory,\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked,\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl,\n });\n }\n\n if (!worker) {\n const workerParams = {\n verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const fetchDocParams = {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null,\n },\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement,\n };\n\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename:\n rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream,\n },\n rangeTransport\n );\n } else if (!data) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: createPDFNetworkStream\");\n }\n const createPDFNetworkStream = params => {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS\n ) {\n return new PDFNodeStream(params);\n }\n return isValidFetchUrl(params.url)\n ? new PDFFetchStream(params)\n : new PDFNetworkStream(params);\n };\n\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n transportParams,\n transportFactory\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n source,\n source.data ? [source.data.buffer] : null\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\nfunction getUrlProp(val) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n return null; // The 'url' is unused with `PDFDataRangeTransport`.\n }\n if (val instanceof URL) {\n return val.href;\n }\n try {\n // The full path is required in the 'url' field.\n return new URL(val, window.location).href;\n } catch {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof val === \"string\"\n ) {\n return val; // Use the url as-is in Node.js environments.\n }\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n}\n\nfunction getDataProp(val) {\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n val instanceof Buffer // eslint-disable-line no-undef\n ) {\n throw new Error(\n \"Please provide binary data as `Uint8Array`, rather than `Buffer`.\"\n );\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n // Use the data as-is when it's already a Uint8Array that completely\n // \"utilizes\" its underlying ArrayBuffer, to prevent any possible\n // issues when transferring it to the worker-thread.\n return val;\n }\n if (typeof val === \"string\") {\n return stringToBytes(val);\n }\n if ((typeof val === \"object\" && !isNaN(val?.length)) || isArrayBuffer(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\n \"Invalid PDF binary data: either TypedArray, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = new PromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n try {\n if (this._worker?.port) {\n this._worker._pendingDestroy = true;\n }\n await this._transport?.destroy();\n } catch (ex) {\n if (this._worker?.port) {\n delete this._worker._pendingDestroy;\n }\n throw ex;\n }\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n *\n * NOTE: The TypedArrays passed to the constructor and relevant methods below\n * will generally be transferred to the worker-thread. This will help reduce\n * main-thread memory usage, however it will take ownership of the TypedArrays.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array|null} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new PromiseCapability();\n }\n\n /**\n * @param {function} listener\n */\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n /**\n * @param {number} begin\n * @param {Uint8Array|null} chunk\n */\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n /**\n * @param {number} loaded\n * @param {number|undefined} total\n */\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n /**\n * @param {Uint8Array|null} chunk\n */\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n /**\n * @param {number} begin\n * @param {number} end\n */\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"getJavaScript\", {\n value: () => {\n deprecated(\n \"`PDFDocumentProxy.getJavaScript`, \" +\n \"please use `PDFDocumentProxy.getJSActions` instead.\"\n );\n return this.getJSActions().then(js => {\n if (!js) {\n return js;\n }\n const jsArr = [];\n for (const name in js) {\n jsArr.push(...js[name]);\n }\n return jsArr;\n });\n },\n });\n }\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n // For testing purposes.\n Object.defineProperty(this, \"getXFADatasets\", {\n value: () => {\n return this._transport.getXFADatasets();\n },\n });\n Object.defineProperty(this, \"getXRefPrevValue\", {\n value: () => {\n return this._transport.getXRefPrevValue();\n },\n });\n Object.defineProperty(this, \"getAnnotArray\", {\n value: pageIndex => {\n return this._transport.getAnnotArray(pageIndex);\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {Object} The filter factory instance.\n */\n get filterFactory() {\n return this._transport.filterFactory;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree.\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the raw data of the PDF document.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n * @property {boolean} [disableNormalization] - When true the text is *not*\n * normalized in the worker-thread. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {CanvasRenderingContext2D} canvasContext - A 2D context of a DOM\n * Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {CanvasGradient | CanvasPattern | string} [background] - Background\n * to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n *\n * NOTE: This option may be partially, or completely, ignored when the\n * `pageColors`-option is used.\n * @property {Object} [pageColors] - Overwrites background and foreground colors\n * with user defined ones in order to improve readability in high contrast\n * mode.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n * @property {PrintAnnotationStorage} [printAnnotationStorage]\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {PrintAnnotationStorage} [printAnnotationStorage]\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n\n #pendingCleanup = false;\n\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {RefProxy | null} The reference that points to this page.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n return this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n\n /**\n * @type {Object} The filter factory instance.\n */\n get filterFactory() {\n return this._transport.filterFactory;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null,\n }) {\n this._stats?.time(\"Overall\");\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n printAnnotationStorage\n );\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render...\n this.#pendingCleanup = false;\n // ... and ensure that a delayed cleanup is always aborted.\n this.#abortDelayedCleanup();\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\n );\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = new PromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null,\n };\n\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup immediately once rendering has finished.\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(/* delayed = */ !intentPrint);\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error),\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.destroyed) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n printAnnotationStorage = null,\n } = {}) {\n if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n throw new Error(\"Not implemented: getOperatorList\");\n }\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n printAnnotationStorage,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = new PromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null,\n };\n\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(/* delayed = */ false);\n\n if (resetStats && success) {\n this._stats &&= new StatTimer();\n }\n return success;\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @param {boolean} [delayed] - Delay the cleanup, to e.g. improve zooming\n * performance in documents with large images.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n\n if (!this.#pendingCleanup || this.destroyed) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(/* delayed = */ false);\n }, DELAYED_CLEANUP_TIMEOUT);\n\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n this._stats?.timeEnd(\"Page Request\");\n\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n intentState.displayReadyCapability?.resolve(transparency);\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(/* delayed = */ true);\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageSerializable,\n }) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n const { map, transfers } = annotationStorageSerializable;\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: map,\n },\n transfers\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(/* delayed = */ true);\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\n }\n\n if (!intentState.streamReader) {\n return;\n }\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < /* ms = */ 1000) {\n // Above, we prevent the total delay from becoming arbitrarily large.\n delay += reason.extraDelay;\n }\n\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({ intentState, reason, force: true });\n }, delay);\n return;\n }\n }\n intentState.streamReader\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\n });\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {StatTimer | null} Returns page stats, if enabled; returns `null`\n * otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n #listeners = new Set();\n\n #deferred = Promise.resolve();\n\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(\n obj,\n (typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"SKIP_BABEL || TESTING\")) &&\n transfer\n ? { transfer }\n : null\n ),\n };\n\n this.#deferred.then(() => {\n for (const listener of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this.#listeners.add(listener);\n }\n\n removeEventListener(name, listener) {\n this.#listeners.delete(listener);\n }\n\n terminate() {\n this.#listeners.clear();\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Worker} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n // Check if URLs have the same origin. For non-HTTP based URLs, returns false.\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static #workerPorts;\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n\n this._readyCapability = new PromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) &&\n port\n ) {\n if (PDFWorker.#workerPorts?.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: _initializeFromPort\");\n }\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let { workerSrc } = PDFWorker;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n const worker =\n typeof PDFJSDev === \"undefined\" &&\n !workerSrc.endsWith(\"/build/pdf.worker.js\")\n ? new Worker(workerSrc, { type: \"module\" })\n : new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n // Ensure that we can use `postMessage` transfers.\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts?.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: fromPort\");\n }\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n const cachedPort = this.#workerPorts?.get(params.port);\n if (cachedPort) {\n if (cachedPort._pendingDestroy) {\n throw new Error(\n \"PDFWorker.fromPort - the worker is being destroyed.\\n\" +\n \"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls.\"\n );\n }\n return cachedPort;\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n PDFWorkerUtil.fallbackWorkerSrc !== null\n ) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a ` - + + @@ -146,18 +145,26 @@ See https://github.com/adobe-type-tools/cmap-resources + +