{"version":3,"file":"vendor.js","mappings":"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","names":["factory","__webpack_modules__","__unused_webpack_module","exports","__w_pdfjs_require__","Object","defineProperty","value","VerbosityLevel","Util","UnknownErrorException","UnexpectedResponseException","UNSUPPORTED_FEATURES","TextRenderingMode","StreamType","RenderingIntentFlag","PermissionFlag","PasswordResponses","PasswordException","PageActionEventType","OPS","MissingPDFException","InvalidPDFException","ImageKind","IDENTITY_MATRIX","FormatError","FontType","FeatureTest","FONT_IDENTITY_MATRIX","DocumentActionEventType","CMapCompressionType","BaseException","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMode","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","AnnotationActionEventType","AbortException","arrayByteLength","arraysToBytes","arr","length","Uint8Array","resultLength","i","pos","data","item","stringToBytes","itemLength","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","options","addDefaultProtocol","startsWith","dots","match","tryConvertEncoding","stringToUTF8String","absoluteUrl","URL","_isValidProtocol","protocol","escapeString","str","replace","getModificationDate","date","Date","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","buffer","decode","ex","warn","code","PDFStringTranslateTable","charCodeAt","charAt","stringToUTF16BEString","buf","char","utf8StringToString","unescape","encodeURIComponent","ANY","DISPLAY","PRINT","ANNOTATIONS_FORMS","ANNOTATIONS_STORAGE","ANNOTATIONS_DISABLE","OPLIST","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","NONE","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","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","signatures","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontBuildPath","errorFontGetPath","errorMarkedContent","errorContentSubStream","NEED_PASSWORD","INCORRECT_PASSWORD","Error","prop","enumerable","configurable","writable","message","name","this","constructor","prototype","super","details","status","isLittleEndian","buffer8","Uint32Array","isEvalSupported","Function","isOffscreenCanvasSupported","OffscreenCanvas","hexNumbers","Array","n","static","r","g","b","minMax","temp","m1","m2","p","m","d","p1","applyTransform","p2","slice","p3","p4","max","transpose","a","c","first","second","sqrt","sx","sy","rect","rect1","rect2","xLow","xHigh","yLow","yHigh","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t","t1","t2","b2ac","sqrtb2ac","abs","mt","j","jlen","decodeURIComponent","escape","__unused_webpack_exports","isNodeJS","process","versions","nw","electron","type","build","RenderTask","PDFWorkerUtil","PDFWorker","PDFPageProxy","PDFDocumentProxy","PDFDocumentLoadingTask","PDFDataRangeTransport","LoopbackPort","DefaultStandardFontDataFactory","DefaultCanvasFactory","DefaultCMapReaderFactory","getDocument","setPDFNetworkStreamFactory","version","_util","_display_utils","_font_loader","_annotation_storage","_canvas","_worker_options","_is_node","_message_handler","_metadata","_optional_content_config","_transport_stream","_xfa_text","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DOMCanvasFactory","DOMCMapReaderFactory","DOMStandardFontDataFactory","createPDFNetworkStream","NodeCanvasFactory","NodeCMapReaderFactory","NodeStandardFontDataFactory","pdfNetworkStreamFactory","src","task","source","range","params","rangeTransport","worker","window","location","href","Buffer","isNaN","CMapReaderFactory","StandardFontDataFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","enableXfa","rangeChunkSize","docBaseUrl","isDataScheme","maxImageSize","cMapUrl","standardFontDataUrl","useWorkerFetch","disableFontFace","useSystemFonts","ownerDocument","globalThis","document","disableRange","disableStream","disableAutoFetch","workerParams","port","GlobalWorkerOptions","workerPort","fromPort","_worker","docId","then","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","contentDispositionFilename","httpHeaders","withCredentials","all","workerId","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","catch","_capability","_x","pdfDataRangeTransport","sendWithPromise","apiVersion","password","_docId","onPassword","onProgress","onUnsupportedFeature","destroy","_this","_PDFDocumentLoadingTask","__privateAdd","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","addRangeListener","listener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","begin","onDataProgress","loaded","total","onDataProgressiveRead","onDataProgressiveDone","transportReady","requestDataRange","end","abort","pdfInfo","_ref","_this2","_pdfInfo","deprecated","fingerprints","stats","streamTypes","fontTypes","annotationStorage","numPages","isPureXfa","_htmlForXfa","allXfaHtml","getPage","pageNumber","getPageIndex","ref","getDestinations","getDestination","id","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getJSActions","getDocJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","getDownloadInfo","downloadInfoCapability","cleanup","keepLoadedFonts","startCleanup","loadingTask","loadingParams","saveDocument","size","getFieldObjects","hasJSActions","getCalculationOrderIds","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","StatTimer","_pdfBug","commonObjs","objs","PDFObjects","_bitmaps","Set","cleanupAfterRender","pendingCleanup","_intentStates","Map","_annotationPromises","rotate","userUnit","view","getViewport","scale","rotation","offsetX","offsetY","dontFlip","PageViewport","viewBox","getAnnotations","intent","intentArgs","getRenderingIntent","cacheKey","renderingIntent","annotations","annotation","titleObj","contentsObj","_jsActionsPromise","getPageJSActions","getXfa","_this3","children","render","canvasContext","viewport","annotationMode","imageLayer","canvasFactory","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","arguments","renderInteractiveForms","includeAnnotationStorage","time","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","intentPrint","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","complete","error","renderTasks","delete","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","add","renderTask","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","getOperatorList","opListTask","opListReadCapability","streamTextContent","disableCombineTextItems","includeMarkedContent","sendWithStream","combineTextItems","highWaterMark","TEXT_CONTENT_CHUNK_SIZE","textContent","items","getTextContent","xfa","XfaText","readableStream","reader","getReader","styles","pump","read","done","assign","getStructTree","_structTreePromise","_destroy","waitOn","values","force","completed","cancel","clear","bitmap","close","resetStats","_startRenderPage","_renderPageChunk","operatorListChunk","serializable","streamReader","RenderingCancelledException","setTimeout","curCacheKey","curIntentState","_listeners","_deferred","postMessage","transfers","event","structuredClone","call","addEventListener","removeEventListener","indexOf","splice","terminate","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerId","pdfjsFilePath","currentScript","isSameOrigin","otherUrl","base","origin","other","createCDNWrapper","wrapper","createObjectURL","Blob","_workerPorts","has","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","Worker","_mainThreadWorkerMessageHandler","workerSrc","terminateEarly","onWorkerError","_setupFakeWorker","sendTest","testObj","_setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","setup","__privateGet","pdfjsWorker","loader","mainWorkerMessageHandler","_this4","eval","loadScript","_PDFWorker","WeakMap","getWorkerSrc","fontLoader","FontLoader","_onUnsupportedFeature","bind","styleElement","_params","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","setupMessageHandler","AnnotationStorage","_docStats","isOpList","annotationHash","hash","page","_pageCache","_pagePromises","hasOwnProperty","resetModified","terminated","__privateSet","_metadataPromise","_getFieldObjectsPromise","_hasJSActionsPromise","cancelAllRequests","sink","getFullReader","evt","onPull","enqueue","onCancel","ready","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_numPages","htmlForXfa","exception","updatePassword","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","finally","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","width","height","freeze","fetch","featureId","cachedPromise","num","gen","filename","results","OptionalContentConfig","metadata","Metadata","_this5","objId","__privateMethod","_ensureObj","_objs","settled","_internalRenderTask","onContinue","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_cancelBound","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","canvas","_canvasInUse","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","requestAnimationFrame","_this6","executeOperatorList","_InternalRenderTask","WeakSet","PixelsPerInch","PDFDateString","DOMSVGFactory","getFilenameFromUrl","anchor","query","substring","lastIndexOf","getPdfFilenameFromUrl","defaultFilename","reFilename","splitURI","exec","suggestedFilename","includes","getXfaPageViewport","xfaPage","attributes","style","parseInt","isPdfFile","isValidFetchUrl","removeScriptElement","script","createElement","onload","remove","onerror","head","documentElement","appendChild","_base_factory","pdfDateStringRegex","_PixelsPerInch","__publicField","CSS","PDF","PDF_TO_CSS_UNITS","BaseCanvasFactory","_document","_createCanvas","fetchData","_x5","asTypedArray","baseURI","response","ok","statusText","arrayBuffer","text","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","responseText","BaseCMapReaderFactory","_fetchData","compressionType","cMapData","BaseStandardFontDataFactory","BaseSVGFactory","_createSVG","createElementNS","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","clone","convertToViewportPoint","x","y","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","applyInverseTransform","trim","toLowerCase","started","times","now","start","outBuf","longest","duration","padEnd","input","RegExp","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","context","getContext","reset","canvasAndContext","_this7","_this8","svg","setAttribute","BaseFontLoader","nativeFontFaces","addNativeFontFace","nativeFontFace","fonts","insertRule","rule","getElementsByTagName","styleSheet","sheet","cssRules","attached","missingFile","_this9","isFontLoadingAPISupported","createNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","hasFonts","_loadTestFont","rules","fontsToLoad","loadingContext","requests","nextRequestId","loadTestFontId","supported","navigator","userAgent","completeRequest","otherRequest","shift","atob","int32","offset","spliceString","s","insert","ctx","called","XXXX_VALUE","checksum","btoa","names","loadedName","div","visibility","position","top","left","span","fontFamily","body","isFontReady","fillText","getImageData","translatedData","compiledGlyphs","cssFontInfo","css","weight","fontWeight","italicAngle","FontFace","mimetype","getPathGenerator","character","cmds","jsBuf","current","args","cmd","_murmurhash","_storage","_modified","onSetModified","onResetModified","getValue","defaultValue","getRawValue","setValue","modified","entry","val","entries","_setModified","getAll","MurmurHash3_64","update","JSON","stringify","hexdigest","SEED","MASK_HIGH","MASK_LOW","seed","h1","h2","blockCounts","tailLength","dataUint32","k1","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","_pattern_helper","_image_utils","MAX_GROUP_SIZE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","_transformStack","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_originalResetTransform","resetTransform","_transformMatrix","desc","getOwnPropertyDescriptor","getPrototypeOf","_setLineWidth","_getLineWidth","e","f","ad_bc","bc_ad","old","prev","pop","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","tx","ty","tlX","rTlX","round","tlY","rTlY","brX","rWidth","brY","rHeight","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","scaleMinMax","updateCurvePathMinMax","box","bezierBoundingBox","getPathBoundingBox","pathType","PathType","singularValueDecompose2dScale","xStrokePad","yStrokePad","updateClipFromPath","intersect","isEmptyClip","Infinity","getClippedPathBoundingBox","putBinaryImageData","imgData","ImageData","putImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","destPos","srcPos","dest","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","kind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","k","kEnd","kEndUnrolled","mask","srcByte","hasTransferMaps","putBinaryImageMask","applyMaskImageData","copyCtxState","sourceCtx","destCtx","properties","property","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","foregroundColor","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","layerCtx","layerBox","layerOffsetX","layerOffsetY","layerWidth","layerHeight","genericComposeSMask","maskCtx","subtype","backdrop","maskOffsetX","maskOffsetY","hasBackdrop","composeFn","chunkSize","ceil","row","chunkHeight","getImageSmoothingEnabled","interpolate","fround","actualScale","devicePixelRatio","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","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","cB","rB","gB","bB","newComp","lumB","selectColor","lumC","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","chunkOperations","endTime","steps","fnId","breakIt","depObjId","objsPool","inSMaskMode","HTMLCanvasElement","endLayout","_scaleImage","img","inverseTransform","tmpCanvas","tmpCtx","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","clearRect","_createMaskCanvas","isPatternFill","currentTransform","scaled","maskCanvas","count","mainKey","withoutTranslation","cachedImage","maskToCanvas","cord1","cord2","normalizeRect","drawnWidth","drawnHeight","fillCanvas","fillCtx","mozCurrentTransformInverse","imageSmoothingEnabled","inverse","getPattern","limit","dashArray","dashPhase","flatness","states","state","checkSMaskState","beginSMaskMode","endSMaskMode","cacheId","scratchCanvas","mirrorContextOperations","_removeMirroring","__originalSave","__originalRestore","__originalRotate","__originalScale","__originalTranslate","__originalTransform","__originalSetTransform","__originalResetTransform","__originalClip","__originalMoveTo","__originalLineTo","__originalBezierCurveTo","bezierCurveTo","__originalRect","__originalClosePath","__originalBeginPath","beginPath","cp1x","cp1y","cp2x","cp2y","compose","dirtyBox","floor","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","rescaleAndStroke","needRestore","paths","pendingTextPaths","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","mode","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","getSinglePixelWidth","glyph","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","charWidth","vmetric","vx","vy","remeasure","measuredWidth","measureText","characterScaleX","isInFont","scaledAccentX","scaledAccentY","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","_getPattern","makeHexColor","matrix","getShadingPattern","SHADING","inv","bl","br","ul","ur","bbox","isArray","group","currentCtx","isolated","knockout","getAxialAlignedBoundingBox","canvasBounds","scaleX","scaleY","groupCtx","startTransformInverse","currentMtx","hasOwnCanvas","canvasWidth","canvasHeight","annotationCanvas","viewportScaleFactorStr","savedCtx","compiled","compileType3Glyph","POINT_TYPES","width1","j0","points","lineSize","elem","sum","Int32Array","outlines","coords","Path2D","p0","step","pp","o","l","ll","skewX","skewY","positions","trans","images","image","w","h","imgToPaint","HTMLElement","getCanvasPosition","appendImage","tag","visible","isVisible","isContentVisible","isEmpty","absDet","normX","normY","getScaleForStroking","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","savedMatrix","savedDashes","savedDashOffset","op","RadialAxialShadingPattern","MeshShadingPattern","DummyShadingPattern","applyBoundingBox","region","BaseShadingPattern","_type","_bbox","_colorStops","_p0","_p1","_r0","_r1","_createGradient","grad","createLinearGradient","createRadialGradient","colorStop","addColorStop","owner","ownerBBox","createPattern","domMatrix","DOMMatrix","drawTriangle","c1","c2","c3","colors","rowSize","tmp","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","_coords","_colors","_figures","_bounds","_background","_createMeshCanvas","combinedScale","boundsWidth","boundsHeight","EXPECTED_SCALE","MAX_PATTERN_SIZE","paddedWidth","BORDER_SIZE","paddedHeight","matrixScale","temporaryPatternCanvas","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","adjustedX0","adjustedY0","adjustedX1","adjustedY1","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","inverseDecode","opaque","zeroMapping","oneMapping","widthInSource","widthRemainder","CallbackKind","StreamKind","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","stream","_processStreamMessage","action","cbSourceName","cbTargetName","result","_createStreamSink","actionName","handler","ah","queueingStrategy","ReadableStream","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","self","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","streamController","_deleteStreamController","allSettled","_this10","_metadataMap","_data","parsedData","rawData","getRaw","OptionalContentGroup","creator","_order","_groups","order","groups","baseState","off","_evaluateVisibilityExpression","array","operator","element","expression","policy","ids","setVisibility","getOrder","from","getGroups","getGroup","_queuedChunks","_progressiveDone","_contentDispositionFilename","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","_onReceiveData","_onProgress","_onProgressiveDone","_enqueue","found","some","_begin","_progressiveDataLength","_loaded","firstReader","_removeRangeReader","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","_stream","_done","_filename","_requests","_headersReady","_this11","requestCapability","_end","_queuedChunk","_this12","output","walk","node","shouldBuildText","child","require","readFile","createCanvas","AnnotationLayer","_scripting_utils","_xfa_layer","GetElementsByNameSet","getRectDims","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","layer","linkService","downloadManager","imageResourcesPath","renderForms","svgFactory","enableScripting","_fieldObjects","fieldObjects","_mouseState","mouseState","container","_createContainer","quadrilaterals","_createQuadrilaterals","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","_commonActions","setColor","jsName","styleName","detail","target","ColorConverters","display","hidden","print","focus","preventScroll","userName","title","readonly","removeAttribute","required","bgColor","fgColor","textColor","_dispatchEventFromSandbox","actions","jsEvent","commonActions","_setDefaultPropertiesFromJS","storedData","quadPoints","savedRect","quadPoint","_createPopup","trigger","popup","PopupElement","modificationDate","richText","hideWrapper","_renderQuadrilaterals","className","quadrilateral","_getElementsByName","skipId","fields","fieldObj","exportValues","exportValue","domElement","getElementById","getElementsByName","platform","isWin","isMac","isTooltipOnly","resetForm","Action","link","addLinkAttributes","newWindow","_bindNamedAction","_bindLink","hasClickAction","_bindJSAction","_bindResetFormAction","index","linkElement","cloneNode","destination","getDestinationHash","onclick","goToDestination","getAnchorUrl","executeNamedAction","eventBus","dispatch","otherClickAction","resetFormFields","refs","resetFormRefs","include","allFields","fieldIds","fieldName","field","storage","allIds","dispatchEvent","Event","hasPopup","alt","dataset","l10nId","l10nArgs","alternativeText","_getKeyModifier","ctrlKey","metaKey","_setEventListener","baseName","eventName","valueGetter","shiftKey","modifier","_setEventListeners","getter","_setBackgroundColor","hasAppearance","fieldValue","setPropertyOnSiblings","keyInStorage","ie","formattedValue","elementData","userValue","valueOnFocus","multiLine","disabled","readOnly","tabIndex","defaultFieldValue","blurListener","scrollLeft","activeElement","selRange","setSelectionRange","commitKey","willCommit","selStart","selectionStart","selEnd","selectionEnd","_blurListener","isDown","Keystroke","inputType","preventDefault","change","maxLen","maxLength","comb","combWidth","classList","letterSpacing","verticalAlign","_setTextStyle","fontColor","defaultAppearanceData","textAlignment","textAlign","checked","checkbox","curChecked","buttonValue","radio","pdfButtonValue","fontSizeStyle","selectElement","combo","multiSelect","multiple","option","selected","optionElement","displayValue","isExport","filter","selectedIndex","getItems","multipleSelection","findIndex","insertBefore","indices","editable","changeEx","keyDown","parentType","selector","parentId","parentElements","querySelectorAll","parentRect","popupLeft","popupTop","pinned","hideElement","BACKGROUND_ENLIGHT","dir","dateObject","toDateObject","toLocaleDateString","toLocaleTimeString","contents","_formatContents","XfaLayer","xfaHtml","html","lastChild","_toggle","_show","_hide","lines","split","line","createTextNode","pin","zIndex","unpin","lineCoordinates","append","square","circle","containerClassName","svgElementName","coordinate","vertices","polyline","inkList","inkLists","content","file","_download","openOrDownloadData","sortedAnnotations","popupAnnotations","rendered","renderedElement","prepend","_setAnnotationCanvasMap","ownMatrix","elements","ownTransform","querySelector","firstChild","nodeName","replaceChild","makeColorComp","G","components","RGB_HTML","CMYK_RGB","xfaOn","xfaOff","getAttribute","isHTMLAnchorElement","HTMLAnchorElement","dataId","setupStorage","root","rootHtml","setAttributes","stack","rootDiv","textDivs","parent","childHtml","xmlns","el","renderTextLayer","renderParameters","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_render","timeout","DEFAULT_FONT_SIZE","ascentCache","AllWhitespaceRegexp","appendText","geom","textDiv","textDivProperties","_enhanceTextSelection","hasText","hasEOL","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_viewport","atan2","fontName","fontHeight","fontAscent","getAscent","cachedAscent","metrics","ascent","fontBoundingBoxAscent","descent","fontBoundingBoxDescent","ratio","pixels","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textDivProperties","_textContentStream","_layoutText","angleCos","angleSin","divWidth","divHeight","right","bottom","_canceled","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","expandBounds","boxes","x1New","x2New","expandBoundsLTR","divProperties","Float64Array","jj","boxScale","sort","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","concat","_textContent","_container","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","len","parentNode","textItems","textStyles","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","SVGGraphics","opListToTree","opList","opTree","opListElement","fn","pf","toFixed","pm","acos","SVG_DEFAULTS","fontStyle","XML_NS","XLINK_NS","contentType","forceDataSchema","digits","b1","b2","b3","d2","d3","d4","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","crc32","deflateSyncUncompressed","literals","maxBlockLength","deflateBlocks","idat","pi","adler","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","loadDependencies","getSVG","svgElement","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","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","stop","getAttributeNS","clipId","clipPath","clipElement","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","PDFNodeStream","_network_utils","fs","http","https","fileUriRegex","parseUrl","sourceUrl","parsedUrl","parse","host","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_storedError","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_this13","_error","_setReadableStream","BaseRangeReader","_this14","createRequestOptions","headers","auth","hostname","method","handleResponse","statusCode","getResponseHeader","allowRangeRequests","suggestedLength","validateRangeRequestCapabilities","extractFilenameFromHeader","_request","_httpHeaders","Range","lstat","stat","createReadStream","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","contentDispositionStr","iter","quot","part","parts","attributePattern","flags","textdecode","quotindex","extvalue","encodingend","charset","hex","PDFNetworkStream","NetworkManager","getXhr","currXhrId","pendingRequests","requestRange","listeners","requestFull","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onError","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","getArrayBuffer","rangeHeader","getRequestXhr","isPendingRequest","abortRequest","_source","_manager","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","lengthComputable","_this15","_requestId","_close","_this16","PDFFetchStream","createFetchOptions","abortController","signal","credentials","redirect","createHeaders","Headers","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","_this17","_this18","__webpack_module_cache__","moduleId","cachedModule","module","__webpack_exports__","_annotation_layer","_api","_svg","_text_layer","DefaultXfaLayerFactory","DefaultTextLayerFactory","DefaultStructTreeLayerFactory","DefaultAnnotationLayerFactory","_annotation_layer_builder","_l10n_utils","_pdf_link_service","_struct_tree_layer_builder","_text_layer_builder","_xfa_layer_builder","createAnnotationLayerBuilder","pageDiv","pdfPage","l10n","NullL10n","hasJSActionsPromise","fieldObjectsPromise","AnnotationLayerBuilder","SimpleLinkService","createStructTreeLayerBuilder","StructTreeLayerBuilder","createTextLayerBuilder","textLayerDiv","highlighter","TextLayerBuilder","createXfaLayerBuilder","XfaLayerBuilder","_pdfjsLib","_fieldObjectsPromise","_annotationCanvasMap","_cancelled","hide","pdfjsLib","fixupLangCode","langCode","PARTIAL_LANG_CODES","getL10nFallback","DEFAULT_L10N_STRINGS","of_pages","page_of_pages","document_properties_kb","document_properties_mb","document_properties_date_string","document_properties_page_size_unit_inches","document_properties_page_size_unit_millimeters","document_properties_page_size_orientation_portrait","document_properties_page_size_orientation_landscape","document_properties_page_size_name_a3","document_properties_page_size_name_a4","document_properties_page_size_name_letter","document_properties_page_size_name_legal","document_properties_page_size_dimension_string","document_properties_page_size_dimension_name_string","document_properties_linearized_yes","document_properties_linearized_no","print_progress_percent","additional_layers","page_landmark","thumb_page_title","thumb_page_canvas","find_reached_top","find_reached_bottom","find_not_found","error_version_info","error_message","error_stack","error_file","error_line","rendering_error","page_scale_width","page_scale_fit","page_scale_auto","page_scale_actual","page_scale_percent","loading","loading_error","invalid_file_error","missing_file_error","unexpected_response_error","printing_not_supported","printing_not_ready","web_fonts_disabled","en","es","fy","ga","gu","hi","hy","nb","ne","nn","pa","pt","sv","zh","getLanguage","_asyncToGenerator","getDirection","formatL10nValue","PDFLinkService","LinkTarget","_ui_utils","SELF","BLANK","PARENT","TOP","rel","urlNullRemoved","removeNullCharacters","targetStr","externalLinkTarget","externalLinkRel","ignoreDestinationZoom","externalLinkEnabled","_ignoreDestinationZoom","pdfDocument","pdfViewer","pdfHistory","setDocument","_pagesRefCache","setViewer","setHistory","pagesCount","currentPageNumber","pagesRotation","namedDest","explicitDest","_goToDestinationHelper","goToPage","pageLabelToPageNumber","pushCurrentPosition","pushPage","scrollPageIntoView","setHash","parseQueryString","phraseSearch","zoomArgs","zoomArg","zoomArgNumber","parseFloat","destArray","allowNegativeOffset","_isValidExplicitDestination","back","forward","nextPage","previousPage","cachePageRef","pageNum","pageRef","refStr","_cachedPageNumber","isPageVisible","isPageCached","_PDFLinkService","rawDest","destRef","destLength","zoom","allowNull","param","animationStarted","VERTICAL_PADDING","UNKNOWN_SCALE","TextLayerMode","SpreadMode","SidebarView","ScrollMode","SCROLLBAR_PADDING","RenderingStates","RendererType","ProgressBar","PresentationModeState","OutputScale","MIN_SCALE","MAX_SCALE","MAX_AUTO_SCALE","DEFAULT_SCALE_VALUE","DEFAULT_SCALE_DELTA","DEFAULT_SCALE","AutoPrintRegExp","apiPageLayoutToViewerModes","layout","scrollMode","VERTICAL","spreadMode","PAGE","ODD","EVEN","apiPageModeToSidebarView","THUMBS","OUTLINE","ATTACHMENTS","LAYERS","approximateFraction","xinv","x_","backtrackBeforeAllVisibleElements","binarySearchFirstItem","getActiveOrFocusedElement","curRoot","curActiveOrFocused","shadowRoot","getPageSizeInches","changeOrientation","getVisibleElements","scrollEl","views","sortByVisibility","horizontal","rtl","scrollTop","clientHeight","clientWidth","numViews","firstVisibleElementInd","isElementNextAfterViewHorizontally","elementLeft","offsetLeft","clientLeft","elementRight","isElementBottomAfterViewTop","offsetTop","clientTop","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","fractionWidth","percent","widthPercent","last","pc","isPortraitOrientation","isValidRotation","isValidScrollMode","isValidSpreadMode","noContextMenuHandler","normalizeWheelEventDelta","delta","normalizeWheelEventDirection","deltaMode","MOUSE_PIXELS_PER_LINE","URLSearchParams","replaceInvisible","InvisibleCharactersRegExp","NullCharactersRegExp","roundToDivide","scrollIntoView","spot","scrollMatches","offsetParent","scrollHeight","scrollWidth","contains","getComputedStyle","overflow","watchScroll","viewAreaElement","debounceScroll","rAF","currentX","lastX","currentY","lastY","down","_eventHandler","INITIAL","RUNNING","PAUSED","FINISHED","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","ENABLE_ENHANCE","HORIZONTAL","WRAPPED","pixelRatio","condition","minIndex","maxIndex","currentIndex","elt","pageTop","deltaX","deltaY","_updateBar","_indeterminate","setProperty","_percent","bar","clamp","setWidth","viewer","scrollbarWidth","offsetWidth","show","PDF_ROLE_TO_HTML_ROLE","Document","DocumentFragment","Part","Sect","Div","Aside","NonStruct","P","H","Title","FENote","Sub","Lbl","Span","Em","Strong","Link","Annot","Form","Ruby","RB","RT","RP","Warichu","WT","L","LI","LBody","Table","TR","TH","TD","THead","TBody","TFoot","Caption","Figure","Formula","Artifact","HEADING_PATTERN","structTree","_walk","_setAttributes","structElement","htmlElement","lang","role","kid","renderingDone","textLayerRenderTask","_bindMouse","_finishRendering","endOfContent","numTextDivs","setTextMapping","textLayerFrag","createDocumentFragment","enable","disable","setTextContentStream","setTextContent","expandDivsTimer","adjustTop","getPropertyValue","divBounds","getBoundingClientRect","pageY","PDFViewer","PDFSinglePageViewer","_base_viewer","BaseViewer","_resetView","_scrollMode","_spreadMode","_updateScrollMode","_updateSpreadMode","PagesCountLimit","PDFPageViewBuffer","_pdf_page_view","_pdf_rendering_queue","_text_highlighter","ENABLE_PERMISSIONS_CLASS","FORCE_SCROLL_MODE_PAGE","FORCE_LAZY_PAGE_INIT","PAUSE_EAGER_PAGE_INIT","_size","_buf","_destroyFirstView","resize","newSize","idsToKeep","Symbol","iterator","firstView","next","viewerVersion","firstElementChild","tagName","toUpperCase","findController","_scriptingManager","scriptingManager","removePageBorders","textLayerMode","_annotationMode","enablePrintAutoRotate","renderer","useOnlyCssZoom","maxCanvasPixels","_enablePermissions","enablePermissions","supports","defaultRenderingQueue","renderingQueue","PDFRenderingQueue","_doc","scroll","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","updateContainerHeightCss","_pages","getPageView","pageViewsReady","_pagesCapability","every","pageView","_currentPageNumber","_setCurrentPageNumber","resetCurrentPageView","_resetCurrentPageView","previous","pageLabel","_pageLabels","currentPageLabel","currentScale","_currentScale","_setScale","currentScaleValue","_currentScaleValue","_pagesRotation","updateArgs","firstPagePromise","_firstPageCapability","onePageRendered","_onePageRenderedCapability","pagesPromise","_cancelRendering","permissionsPromise","_buffer","_on","cssTransform","timestamp","_off","_onVisibilityChange","firstPdfPage","permissions","_optionalContentConfigPromise","_initializePermissions","viewerElement","textLayerFactory","annotationLayerFactory","xfaLayerFactory","PDFPageView","defaultViewport","textHighlighterFactory","structTreeLayerFactory","firstPageView","setPdfPage","_ensurePageViewVisible","_onePageRenderedOrForceFetch","getPagesLeft","Language","setPageLabels","labels","setPageLabel","_location","_previousScrollMode","_scrollModePageState","previousPageNumber","scrollDown","pages","_previousAnnotationMode","_setScaleUpdatePages","newScale","newValue","noScroll","preset","_isSameScale","presetValue","isInPresentationMode","isChangingPresentationMode","_pageWidthScaleFactor","currentPage","hPadding","vPadding","pageWidthScale","pageHeightScale","horizontalScale","label","pageWidth","pageHeight","_scrollIntoView","boundingRect","_updateLocation","firstPage","normalizedScaleValue","currentPageView","getPagePoint","intLeft","intTop","pdfOpenParams","_getVisiblePages","visiblePages","numVisiblePages","newCacheSize","renderHighestPriority","isSimpleLayout","currentId","stillFullyVisible","containsElement","_isContainerRtl","direction","isHorizontalScrollbarEnabled","isVerticalScrollbarEnabled","renderingState","cancelRendering","forceRendering","currentlyVisiblePages","scrollAhead","_getScrollAhead","preRenderExtra","getHighestPriority","_toggleLoadingIconSpinner","_ensurePdfPageLoaded","renderView","createTextHighlighter","TextHighlighter","hasEqualPageSizes","getPagesOverview","toggle","parity","spread","_getPageAdvance","pageLayout","yArray","expectedId","firstId","lastId","advance","increaseScale","decreaseScale","_previousContainerHeight","_BaseViewer","visibilityState","visibilityChangePromise","race","pageIndexSet","dummyPage","pageSpot","visibleIds","toggleLoadingIconSpinner","_app_options","MAX_CANVAS_PIXELS","compatibilityParams","renderingId","pdfPageRotate","hasRestrictedScaling","textHighlighter","paintTask","paintedViewportMap","resume","_renderError","_isStandalone","hasViewer","annotationLayer","textLayer","zoomLayer","xfaLayer","structTreeLayer","totalRotation","_renderAnnotationLayer","_renderXfaLayer","_buildXfaTextContentItems","_resetZoomLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotationLayer","keepXfaLayer","zoomLayerNode","annotationLayerNode","xfaLayerNode","loadingIconDiv","redrawAnnotationLayer","redrawXfaLayer","performance","isScalingRestricted","outputScale","_onTextLayerRendered","relativeRotation","absRotation","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","viewVisible","draw","canvasWrapper","renderContinueCallback","cont","isHighestPriority","finishPaintTask","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","tree","treeDom","renderCapability","isCanvasHidden","showCanvas","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","ensureNotCancelled","OptionKind","AppOptions","maxTouchPoints","isAndroid","VIEWER","API","WORKER","PREFERENCE","defaultOptions","cursorToolOnLoad","defaultUrl","defaultZoomValue","disableHistory","disablePageLabels","historyUpdateUrl","compatibility","pageColorsBackground","pageColorsForeground","pdfBugEnabled","printResolution","sidebarViewOnLoad","scrollModeOnLoad","spreadModeOnLoad","viewerCssTheme","viewOnLoad","disablePreferences","locale","language","sandboxBundleSrc","userOptions","userOption","defaultOption","valueType","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","setThumbnailViewer","scrolledDown","visibleViews","numVisible","isViewFinished","holeId","holeView","preRenderIndex","preRenderView","pageIdx","_onUpdateTextLayerMatches","divs","texts","_updateMatches","_convertMatches","matchesLength","iIndex","mm","matchIdx","divIdx","_renderMatches","isSelectedPage","selectedMatchIdx","prevEnd","infinity","appendTextToDiv","fromOffset","toOffset","nodeType","Node","TEXT_NODE","i0","i1","highlightAll","isSelected","highlightSuffix","selectedLeft","n0","n1","scrollMatchIntoView","matchIndex","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","DownloadManager","download","blobUrl","click","_openBlobUrls","downloadUrl","downloadData","isPdfData","viewerUrl","revokeObjectURL","blob","sourceEventType","WaitOnType","EventBus","AutomationEventBus","waitOnEventOrTimeout","delay","eventHandler","EVENT","timeoutHandler","TIMEOUT","external","once","eventListeners","externalListeners","_a","GenericL10n","webL10n","_lang","_ready","setLanguage","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","xhrLoadText","onSuccess","onFailure","overrideMimeType","ontimeout","parseResource","successCallback","failureCallback","baseURL","evalString","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","currentLang","genericLang","skipLang","nextEntry","loadImport","loadLocale","langLinks","getL10nResourceLinks","langCount","onResourceLoaded","gResourceCount","L10nResourceLink","load","dict","getL10nDictionary","innerHTML","locales","default_locale","defaultLocale","anyCaseLang","getL10nData","rv","substArguments","substIndexes","reMatch","macroName","paramName","macro","matched_text","arg","translateElement","getL10nAttributes","getChildElementCount","childElementCount","nodeValue","textNode","plural","_pluralRules","getPluralRules","isIn","list","isBetween","pluralRules","af","ak","am","ar","asa","az","be","bem","bez","bh","bm","bn","bo","brx","bs","ca","cgg","chr","cy","da","de","dv","dz","ee","eo","et","eu","fa","ff","fi","fil","fo","fr","fur","gd","gl","gsw","guw","gv","ha","haw","he","hr","hu","ig","is","it","iu","ja","jmc","jv","ka","kab","kaj","kcg","kde","kea","kk","kl","km","kn","ko","ksb","ksh","ku","kw","lag","lb","lg","ln","lo","lt","lv","mas","mg","mk","ml","mn","mo","mr","ms","my","nah","naq","nd","nl","no","nr","nso","ny","nyn","om","or","pap","pl","rm","ro","rof","ru","rwk","sah","saq","se","seh","ses","sg","sh","shi","sk","sl","sma","smi","smj","smn","sms","sn","so","sq","sr","ss","ssy","st","sw","syr","ta","te","teo","th","ti","tig","tk","tl","tn","to","tr","tzm","uk","ve","vi","vun","wa","wae","wo","xh","xog","yo","zu","fallbackString","getText","shortCode","translateFragment","getTranslatableChildren","elementCount","getReadyState","PDFFindController","FindState","_pdf_find_utils","FOUND","NOT_FOUND","PENDING","CHARACTERS_TO_NORMALIZE","DIACRITICS_EXCEPTION","DIACRITICS_EXCEPTION_STR","DIACRITICS_REG_EXP","SPECIAL_CHARS_REG_EXP","NOT_DIACRITIC_FROM_END_REG_EXP","NOT_DIACRITIC_FROM_START_REG_EXP","normalizationRegex","normalize","rawDiacriticsPositions","normalized","shiftOrigin","eol","hasDiacritics","replacement","hasTrailingDashEOL","endsWith","getOriginalIndex","diffs","_onFind","_pdfDocument","_state","_shouldDirtyMatch","_dirtyMatch","_updateUIState","_extractText","findbarClosed","_highlightMatches","pendingTimeout","_findTimeout","_nextMatch","_updateAllPages","_reset","_scrollMatches","_pageMatches","_pageMatchesLength","_selected","_offset","wrapped","_extractTextPromises","_pageContents","_pageDiffs","_hasDiacritics","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","_query","_rawQuery","_normalizedQuery","_linkService","_isEntireWord","startIdx","getCharacterType","_calculateRegExpMatch","entireWord","pageContent","matchPos","matchLen","_convertToRegExpString","matchDiacritics","isUnicode","p5","_calculateMatch","caseSensitive","reverse","isUnicodePart","queryPart","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","extractTextCapability","textItem","_eventBus","findPrevious","currentPageIndex","numPageMatches","_updateMatch","_advanceOffsetPage","_matchesReady","numMatches","_onFindBarClose","_requestMatchesCount","matchesCount","rawQuery","CharacterType","charCode","isAlphabeticalScript","isAsciiSpace","SPACE","isAsciiAlpha","isAsciiDigit","ALPHA_LETTER","PUNCT","isThai","THAI_LETTER","isHan","HAN_LETTER","isKatakana","KATAKANA_LETTER","isHiragana","HIRAGANA_LETTER","isHalfwidthKatakana","HALFWIDTH_KATAKANA_LETTER","PDFHistory","isDestArraysEqual","isDestHashesEqual","_event_utils","getCurrentHash","destHash","pushHash","firstDest","secondDest","isEntryEqual","_initialized","_fingerprint","_boundEvents","_isPagesLoaded","initialize","fingerprint","resetHistory","updateUrl","reInitialized","_updateUrl","_bindEvents","history","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_parseCurrentHash","_pushOrReplaceState","_updateInternalState","uid","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_isValidPage","forceReplace","_tryPushCurrentPosition","popStateInProgress","initialBookmark","initialRotation","shouldReplace","newState","newUrl","replaceState","pushState","temporary","checkReload","perfEntry","getEntriesByType","removeTemporary","checkNameddest","nameddest","_updateViewarea","_popState","newHash","hashChanged","updateViewarea","popState","pageHide","PDFScriptingManager","scriptingFactory","docPropertiesLookup","_pdfViewer","_closeCapability","_destroyCapability","_scripting","_sandboxBundleSrc","_scriptingFactory","_docPropertiesLookup","_destroyScripting","objects","calculationOrder","docActions","_createScripting","_internalEvents","_updateFromSandbox","dispatchEventInSandbox","_dispatchPageClose","_dispatchPageOpen","_pageOpenPending","_domEvents","docProperties","_getDocProperties","createSandbox","appInfo","docInfo","dispatchWillSave","dispatchDidSave","dispatchWillPrint","dispatchDidPrint","destroyPromise","_visitedPages","siblings","command","modes","elementId","CustomEvent","_this19","visitedPages","actionsPromise","_this20","_this21","createScripting","GenericScripting","_this22","destroySandbox","_x2","filesize","authors","pdfjsSandbox","QuickJSSandbox","_this23","sandbox","_this24","_this25","nukeSandbox","_default_factory","_download_manager","_genericl10n","_pdf_find_controller","_pdf_history","_pdf_scripting_manager","_pdf_viewer","BehaviorSubject","Subject","_value","_subscribe","subscriber","subscription","closed","hasError","thrownError","_throwIfClosed","Observable","subscribe","lift","observable","observerOrNext","isSubscriber","Subscriber","isObserver","isFunction","isSubscription","SafeSubscriber","errorContext","_trySubscribe","err","forEach","promiseCtor","getPromiseCtor","unsubscribe","Symbol_observable","pipe","operations","pipeFromArray","toPromise","config","ObjectUnsubscribedError","createErrorClass","_super","currentObservers","observers","isStopped","subject","AnonymousSubject","observer","observed","_checkFinalizedStatuses","_innerSubscribe","EMPTY_SUBSCRIPTION","Subscription","arrRemove","asObservable","_b","COMPLETE_NOTIFICATION","createNotification","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","errorNotification","_complete","_bind","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","captureError","reportUnhandledError","notification","onStoppedNotification","timeoutProvider","noop","defaultErrorHandler","UnsubscriptionError","errors","initialTeardown","_parentage","_finalizers","initialFinalizer","finalizer","execFinalizer","teardown","_hasParent","_addParent","_removeParent","EMPTY","empty","onUnhandledError","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","combineLatest","scheduler","popScheduler","resultSelector","popResultSelector","observables","argsArgArrayOrObject","combineLatestInit","valueTransform","identity","maybeSchedule","active","remainingFirstValues","hasFirstValue","createOperatorSubscriber","createObject","mapOneOrManyArgs","execute","executeSchedule","concatAll","mergeAll","defer","observableFactory","innerFrom","observeOn","operate","subscribeOn","schedule","scheduleAsyncIterable","asyncIterator","scheduled","isInteropObservable","scheduleObservable","isArrayLike","scheduleArray","isPromise","schedulePromise","isAsyncIterable","isIterable","scheduleIterable","Symbol_iterator","return","isReadableStreamLike","scheduleReadableStreamLike","readableStreamLikeToAsyncGenerator","createInvalidObservableTypeError","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","fromEvent","isEventTarget","methodName","isNodeStyleEventEmitter","addListener","removeListener","toCommonHandlerRegistry","isJQueryStyleEventEmitter","mergeMap","subTarget","TypeError","fromInteropObservable","obs","fromArrayLike","fromPromise","fromAsyncIterable","fromIterable","iterable","fromReadableStreamLike","asyncIterable","asyncIterable_1","asyncIterable_1_1","e_1","__awaiter","__asyncValues","e_1_1","merge","concurrent","popNumber","sources","of","throwError","errorOrErrorFactory","errorFactory","timer","dueTime","intervalOrScheduler","asyncScheduler","intervalDuration","isScheduler","due","isValidDate","onNext","onComplete","onFinalize","OperatorSubscriber","shouldUnsubscribe","auditTime","audit","durationSelector","hasValue","lastValue","durationSubscriber","isComplete","endDuration","cleanupDuration","catchError","handledResult","innerSub","syncUnsub","concatMap","project","debounceTime","activeTask","lastTime","emit","emitWhenIdle","targetTime","distinctUntilChanged","comparator","keySelector","defaultCompare","previousKey","currentKey","predicate","finalize","mapTo","mergeInternals","onBeforeNext","innerSubScheduler","additionalFinalizer","checkComplete","outerNext","doInnerSub","innerComplete","innerValue","bufferedValue","share","connector","resetOnError","resetOnComplete","resetOnRefCountZero","wrapperSource","connection","resetConnection","refCount","hasCompleted","hasErrored","cancelReset","resetAndUnsubscribe","conn","handleReset","onSubscriber","skip","_","startWith","switchMap","innerSubscriber","innerIndex","outerIndex","take","seen","takeUntil","notifier","takeWhile","inclusive","tap","tapObserver","isUnsub","TimeoutError","schedulerArg","each","with","_with","timeoutErrorFactory","meta","originalSourceSubscription","timerSubscription","startTimer","work","intervalProvider","setInterval","delegate","clearInterval","handle","AsyncAction","pending","recycleAsyncId","requestAsyncId","_id","flush","_scheduler","_execute","_delay","errorValue","errored","Scheduler","schedulerActionCtor","dateTimestampProvider","AsyncScheduler","SchedulerAction","_active","animationFrameProvider","cancelAnimationFrame","AnimationFrameAction","_scheduled","AnimationFrameScheduler","flushId","animationFrameScheduler","resolved","nextHandle","activeHandles","findAndClearHandle","Immediate","setImmediate","cb","clearImmediate","immediateProvider","AsapAction","AsapScheduler","asapScheduler","async","getSymbolIterator","EmptyError","objectProto","getKeys","isPOJO","createImpl","ctorFunc","instance","reduce","isRoot","errorThrown","parentSubscription","repeat","scheduleSubscription","isObservable","__asyncGenerator","__await","releaseLock","hasLift","liftedSource","callOrApply","fns","asyncGeneratorStep","AnimationBuilder","AnimationFactory","AUTO_STYLE","animate","timings","sequence","tokens","keyframes","transition","stateChangeExpr","expr","animation","animateChild","scheduleMicroTask","NoopAnimationPlayer","_onDoneFns","_onStartFns","_onDestroyFns","_originalOnDoneFns","_originalOnStartFns","_started","_destroyed","_finished","parentPlayer","totalTime","_onFinish","onStart","onDestroy","hasStarted","play","_onStart","triggerMicrotask","pause","restart","finish","setPosition","getPosition","triggerCallback","phaseName","methods","AnimationGroupPlayer","_players","players","doneCount","destroyCount","startCount","player","_onDestroy","timeAtPosition","longestPlayer","longestSoFar","beforeDestroy","ɵPRE_STYLE","getAriaReferenceIds","attr","CDK_DESCRIBEDBY_ID_PREFIX","CDK_DESCRIBEDBY_HOST_ATTRIBUTE","nextId","AriaDescriber","_platform","_messageRegistry","_messagesContainer","describe","hostElement","_canBeDescribed","getKey","setMessageId","messageElement","referenceCount","_createMessageElement","_isElementDescribedByMessage","_addMessageReference","removeDescription","_isElementNode","_removeMessageReference","registeredMessage","_deleteMessageElement","ngOnDestroy","describedElements","_removeCdkDescribedByReferenceIds","_createMessagesContainer","serverContainers","messagesContainer","isBrowser","originalReferenceIds","addAriaReferencedId","existingId","removeAriaReferencedId","filteredIds","referenceIds","messageId","trimmedMessage","ariaLabel","ELEMENT_NODE","ɵfac","DOCUMENT","ɵprov","ListKeyManager","_items","_activeItemIndex","_activeItem","_wrap","_letterKeyStream","_typeaheadSubscription","_vertical","_allowedModifierKeys","_homeAndEnd","_skipPredicateFn","_pressedLetters","tabOut","QueryList","changes","newItems","newIndex","toArray","skipPredicate","withWrap","shouldWrap","withVerticalOrientation","withHorizontalOrientation","_horizontal","withAllowedModifierKeys","withTypeAhead","debounceInterval","letter","inputString","_getItemsArray","getLabel","setActiveItem","withHomeAndEnd","previousActiveItem","updateActiveItem","onKeydown","keyCode","isModifierAllowed","TAB","DOWN_ARROW","setNextItemActive","UP_ARROW","setPreviousItemActive","RIGHT_ARROW","LEFT_ARROW","HOME","setFirstItemActive","END","setLastItemActive","hasModifierKey","toLocaleUpperCase","A","Z","ZERO","NINE","activeItemIndex","activeItem","isTyping","_setActiveItemByIndex","_setActiveItemByDelta","itemArray","_setActiveInWrapMode","_setActiveInDefaultMode","fallbackDelta","ActiveDescendantKeyManager","setInactiveStyles","setActiveStyles","FocusKeyManager","_origin","setFocusOrigin","InteractivityChecker","isDisabled","hasAttribute","hasGeometry","offsetHeight","getClientRects","isTabbable","frameElement","getFrameElement","getWindow","defaultView","getTabIndexValue","tabIndexValue","WEBKIT","IOS","isPotentiallyTabbableIOS","FIREFOX","isFocusable","isPotentiallyFocusable","isHiddenInput","isInputElement","isNativeFormElement","isAnchorWithHref","isAnchorElement","hasValidTabIndex","ignoreVisibility","FocusTrap","_element","_checker","_ngZone","deferAnchors","_hasAttached","startAnchorListener","focusLastTabbableElement","endAnchorListener","focusFirstTabbableElement","_enabled","attachAnchors","_startAnchor","_endAnchor","_toggleAnchorTabIndex","startAnchor","endAnchor","runOutsideAngular","_createAnchor","nextSibling","focusInitialElementWhenReady","_executeOnStable","focusInitialElement","focusFirstTabbableElementWhenReady","focusLastTabbableElementWhenReady","_getRegionBoundary","bound","markers","_getFirstTabbableElement","_getLastTabbableElement","redirectToElement","focusableChild","hasAttached","tabbableChild","isEnabled","toggleAnchors","isStable","onStable","FocusTrapFactory","deferCaptureElements","CdkTrapFocus","_elementRef","_focusTrapFactory","_previouslyFocusedElement","focusTrap","nativeElement","coerceBooleanProperty","autoCapture","_autoCapture","ngAfterContentInit","_captureFocus","ngDoCheck","ngOnChanges","autoCaptureChange","firstChange","_getFocusedElementPierceShadowDom","ɵdir","selectors","ConfigurableFocusTrap","_focusTrapManager","_inertStrategy","register","deregister","_enable","preventFocus","_disable","allowFocus","FOCUS_TRAP_INERT_STRATEGY","InjectionToken","EventListenerFocusTrapInertStrategy","_listener","_trapFocus","focusTrapRoot","closest","FocusTrapManager","_focusTrapStack","ft","ConfigurableFocusTrapFactory","configObject","isFakeMousedownFromScreenReader","buttons","isFakeTouchstartFromScreenReader","touch","touches","changedTouches","identifier","radiusX","radiusY","INPUT_MODALITY_DETECTOR_OPTIONS","INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS","ignoreKeys","ALT","CONTROL","MAC_META","META","SHIFT","modalityEventListenerOptions","normalizePassiveListenerOptions","passive","capture","InputModalityDetector","ngZone","_mostRecentTarget","_modality","_lastTouchMs","_onKeydown","_options","_getEventTarget","_onMousedown","_onTouchstart","modalityDetected","modalityChanged","mostRecentModality","LIVE_ANNOUNCER_ELEMENT_TOKEN","providedIn","LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY","LIVE_ANNOUNCER_DEFAULT_OPTIONS","LiveAnnouncer","elementToken","_defaultOptions","_liveElement","_createLiveElement","announce","politeness","_previousTimeout","_currentPromise","_currentResolve","elementClass","previousElements","getElementsByClassName","liveEl","CdkAriaLive","_liveAnnouncer","_contentObserver","_politeness","_subscription","observe","elementText","_previousAnnouncedText","i1$1","FOCUS_MONITOR_DEFAULT_OPTIONS","captureEventListenerOptions","FocusMonitor","_inputModalityDetector","_windowFocused","_originFromTouchInteraction","_elementInfo","_monitoredElementCount","_rootNodeFocusListenerCount","_windowFocusListener","_windowFocusTimeoutId","_stopInputModalityDetector","_rootNodeFocusAndBlurListener","_onFocus","_onBlur","parentElement","_detectionMode","detectionMode","monitor","checkChildren","coerceElement","rootNode","_getShadowRoot","_getDocument","cachedInfo","_registerGlobalListeners","stopMonitoring","elementInfo","_setClasses","_removeGlobalListeners","focusVia","_getClosestElementsInfo","currentElement","_originChanged","_setOrigin","_info","_getWindow","_getFocusOrigin","focusEventTarget","_shouldBeAttributedToTouch","_lastFocusOrigin","isFromInteraction","_originTimeoutId","relatedTarget","_emitOrigin","run","rootNodeFocusListeners","modality","CdkMonitorFocus","_focusMonitor","cdkFocusChange","EventEmitter","ngAfterViewInit","_monitorSubscription","BLACK_ON_WHITE_CSS_CLASS","WHITE_ON_BLACK_CSS_CLASS","HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS","HighContrastModeDetector","getHighContrastMode","testElement","documentWindow","computedStyle","computedColor","_applyBodyHighContrastModeCssClasses","_hasCheckedHighContrastMode","bodyClasses","A11yModule","highContrastModeDetector","ɵmod","ɵinj","ObserversModule","DIR_DOCUMENT","DIR_DOCUMENT_FACTORY","inject","RTL_LOCALE_PATTERN","_resolveDirectionality","rawValue","Directionality","bodyDir","htmlDir","Dir","_dir","_isInitialized","previousValue","_rawDir","provide","useExisting","BidiModule","coerceNumberProperty","fallbackValue","_isNumberValue","coerceArray","coerceCssPixelValue","elementOrRef","ElementRef","coerceStringArray","separator","sourceValues","sourceValue","trimmedString","DataSource","isDataSource","connect","ArrayDataSource","disconnect","_DisposeViewRepeaterStrategy","applyChanges","viewContainerRef","itemContextFactory","itemValueResolver","itemViewChanged","forEachOperation","record","adjustedPreviousIndex","operation","previousIndex","insertContext","createEmbeddedView","templateRef","move","detach","_RecycleViewRepeaterStrategy","viewCacheSize","_viewCache","viewArgsFactory","_insertView","_detachAndCacheView","_moveView","cachedView","_insertViewFromCache","$implicit","viewArgs","detachedView","_maybeCacheView","SelectionModel","_multiple","initiallySelectedValues","_emitChanges","_selection","_deselectedToEmit","_selectedToEmit","changed","_markSelected","select","_verifyValueAssignment","_emitChangeEvent","deselect","_unmarkSelected","_unmarkAll","isMultipleSelection","added","removed","UniqueSelectionDispatcher","notify","listen","registered","_VIEW_REPEATER_STRATEGY","BACKSPACE","ENTER","ESCAPE","PAGE_UP","PAGE_DOWN","DELETE","modifiers","altKey","LayoutModule","mediaQueriesForWebkitCompatibility","mediaQueryStyleNode","MediaMatcher","_matchMedia","matchMedia","noopMatchMedia","BLINK","createEmptyStyleRule","media","BreakpointObserver","_mediaMatcher","_zone","_queries","_destroySubject","isMatched","splitQueries","mediaQuery","_registerQuery","mql","stateObservable","breakpointStates","breakpoints","queries","a1","a2","Breakpoints","XSmall","Small","Medium","Large","XLarge","Handset","Tablet","Web","HandsetPortrait","TabletPortrait","WebPortrait","HandsetLandscape","TabletLandscape","WebLandscape","MutationObserverFactory","MutationObserver","ContentObserver","_mutationObserverFactory","_observedElements","_cleanupObserver","_observeElement","_unobserveElement","mutations","characterData","childList","subtree","CdkObserveContent","_disabled","_currentSubscription","_unsubscribe","debounce","_debounce","scrollBehaviorSupported","supportsScrollBehavior","BlockScrollStrategy","_viewportRuler","_previousHTMLStyles","_isEnabled","attach","_canBeEnabled","_previousScrollPosition","getViewportScrollPosition","htmlStyle","bodyStyle","previousHtmlScrollBehavior","scrollBehavior","previousBodyScrollBehavior","getViewportSize","CloseScrollStrategy","_scrollDispatcher","_config","_scrollSubscription","_detach","_overlayRef","overlayRef","scrolled","threshold","_initialScrollPosition","scrollPosition","updatePosition","NoopScrollStrategy","isElementScrolledOutsideView","scrollContainers","containerBounds","outsideAbove","outsideBelow","outsideLeft","outsideRight","isElementClippedByScrolling","scrollContainerRect","clippedAbove","clippedBelow","clippedLeft","clippedRight","RepositionScrollStrategy","throttle","scrollThrottle","autoClose","overlayRect","overlayElement","ScrollStrategyOptions","block","reposition","OverlayConfig","scrollStrategy","panelClass","backdropClass","disposeOnNavigation","configKeys","ConnectedOverlayPositionChange","connectionPair","scrollableViewProperties","BaseOverlayDispatcher","_attachedOverlays","OverlayKeyboardDispatcher","_keydownListener","overlays","_keydownEvents","keydownEvents","_isAttached","OverlayOutsideClickDispatcher","_cursorStyleIsSet","_pointerDownListener","_pointerDownEventTarget","_clickListener","_outsidePointerEvents","outsidePointerEvents","_addEventListeners","_cursorOriginalValue","cursor","OverlayContainer","_containerElement","getContainerElement","containerClass","_isTestEnvironment","oppositePlatformContainers","OverlayRef","_portalOutlet","_host","_pane","_keyboardDispatcher","_outsideClickDispatcher","_backdropElement","_backdropClick","_attachments","_detachments","_locationChanges","_backdropClickHandler","_backdropTransitionendHandler","_disposeBackdrop","_scrollStrategy","_positionStrategy","positionStrategy","backdropElement","portal","_previousHostParent","attachResult","_updateStackingOrder","_updateElementSize","_updateElementDirection","_togglePointerEvents","_attachBackdrop","_toggleClasses","dispose","detachBackdrop","detachmentResult","_detachContentWhenStable","isAttached","_disposeScrollStrategy","backdropClick","attachments","detachments","getConfig","updatePositionStrategy","strategy","updateSize","sizeConfig","setDirection","addPanelClass","classes","removePanelClass","updateScrollStrategy","minWidth","minHeight","maxWidth","maxHeight","enablePointer","pointerEvents","showingClass","backdropToDetach","_backdropTimeout","cssClasses","isAdd","boundingBoxClass","cssUnitPattern","FlexibleConnectedPositionStrategy","connectedTo","_overlayContainer","_lastBoundingBoxSize","_isPushed","_canPush","_growAfterOpen","_hasFlexibleDimensions","_positionLocked","_viewportMargin","_scrollables","_preferredPositions","_positionChanges","_resizeSubscription","_offsetX","_offsetY","_appliedPanelClasses","positionChanges","setOrigin","_validatePositions","_boundingBox","_isDisposed","_isInitialRender","_lastPosition","reapplyLastPosition","_clearPanelClasses","_resetOverlayElementStyles","_resetBoundingBoxStyles","_viewportRect","_getNarrowedViewportRect","_originRect","_getOriginRect","_overlayRect","_containerRect","originRect","viewportRect","containerRect","flexibleFits","originPoint","_getOriginPoint","overlayPoint","_getOverlayPoint","overlayFit","_getOverlayFit","isCompletelyWithinViewport","_applyPosition","_canFitWithFlexibleDimensions","boundingBoxRect","_calculateBoundingBoxRect","visibleArea","bestFit","bestScore","fit","score","_previousPushAmount","extendStyles","alignItems","justifyContent","lastPosition","withScrollableContainers","scrollables","withPositions","withViewportMargin","margin","withFlexibleDimensions","flexibleDimensions","withGrowAfterOpen","growAfterOpen","withPush","canPush","withLockedPosition","isLocked","withDefaultOffsetX","withDefaultOffsetY","withTransformOriginOn","_transformOriginSelector","originX","_isRtl","endX","originY","overlayStartX","overlayStartY","overlayX","overlayY","point","rawOverlayRect","overlay","getRoundedBoundingClientRect","_getOffset","leftOverflow","rightOverflow","topOverflow","bottomOverflow","visibleWidth","_subtractOverflows","visibleHeight","fitsInViewportVertically","fitsInViewportHorizontally","availableHeight","availableWidth","getPixelValue","verticalFit","horizontalFit","_pushOverlayOnScreen","overflowRight","overflowBottom","overflowTop","overflowLeft","pushX","pushY","_setTransformOrigin","_setOverlayElementStyles","_setBoundingBoxStyles","_addPanelClasses","_getScrollVisibility","changeEvent","xOrigin","yOrigin","isRtl","smallestDistanceToViewportEdge","previousHeight","isBoundedByRightViewportEdge","previousWidth","_hasExactPosition","hasExactPosition","hasFlexibleDimensions","_getExactOverlayY","_getExactOverlayX","transformString","documentHeight","horizontalStyleProperty","documentWidth","originBounds","overlayBounds","scrollContainerBounds","scrollable","getElementRef","isOriginClipped","isOriginOutsideView","isOverlayClipped","isOverlayOutsideView","overflows","currentValue","currentOverflow","axis","cssClass","Element","units","clientRect","wrapperClass","GlobalPositionStrategy","_cssPosition","_topOffset","_bottomOffset","_leftOffset","_rightOffset","_alignItems","_justifyContent","_width","_height","centerHorizontally","centerVertically","parentStyles","shouldBeFlushHorizontally","shouldBeFlushVertically","marginLeft","marginTop","marginBottom","marginRight","OverlayPositionBuilder","global","flexibleConnectedTo","nextUniqueId","Overlay","scrollStrategies","_componentFactoryResolver","_positionBuilder","_injector","_directionality","_createHostElement","pane","_createPaneElement","portalOutlet","_createPortalOutlet","overlayConfig","_appRef","ApplicationRef","DomPortalOutlet","i5","i6","defaultPositionList","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY","CdkOverlayOrigin","elementRef","CdkConnectedOverlay","_overlay","scrollStrategyFactory","_hasBackdrop","_lockPosition","_flexibleDimensions","_push","_backdropSubscription","_attachSubscription","_detachSubscription","_positionSubscription","viewportMargin","disableClose","positionChange","overlayKeydown","overlayOutsideClick","_templatePortal","TemplatePortal","_scrollStrategyFactory","_updatePositionStrategy","lockPosition","_attachOverlay","_detachOverlay","_createOverlay","_buildConfig","_createPositionStrategy","currentPosition","_getFlexibleConnectedPositionStrategyOrigin","transformOriginSelector","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER","deps","useFactory","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY","OverlayModule","imports","PortalModule","ScrollingModule","FullscreenOverlayContainer","_fullScreenEventName","_fullScreenListener","_adjustParentForFullscreenChange","_addFullscreenChangeListener","getFullscreenElement","_getEventName","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","hasV8BreakIterator","supportedInputTypes","Intl","v8BreakIterator","Platform","_platformId","isPlatformBrowser","EDGE","TRIDENT","chrome","ANDROID","SAFARI","PLATFORM_ID","PlatformModule","candidateInputTypes","getSupportedInputTypes","featureTestInput","supportsPassiveEvents","rtlScrollAxisType","shadowDomIsSupported","supportsPassiveEventListeners","scrollToFunction","scrollTo","getRtlScrollAxisType","scrollContainer","containerStyle","contentStyle","_supportsShadowDom","createShadowRoot","attachShadow","getRootNode","ShadowRoot","newActiveElement","composedPath","__karma__","jasmine","jest","Mocha","Portal","_attachedHost","setAttachedHost","ComponentPortal","component","injector","componentFactoryResolver","template","DomPortal","BasePortalOutlet","attachDomPortal","_attachedPortal","attachComponentPortal","attachTemplatePortal","_invokeDisposeFn","setDisposeFn","_disposeFn","outletElement","_defaultInjector","anchorNode","createComment","componentFactory","resolveComponentFactory","componentRef","createComponent","Injector","attachView","hostView","viewCount","detachView","_getComponentRootNode","viewContainer","viewRef","rootNodes","detectChanges","CdkPortal","TemplatePortalDirective","CdkPortalOutlet","_viewContainerRef","_getRootNode","attachedRef","_attachedRef","ngOnInit","PortalHostDirective","ReplaySubject","_bufferSize","_windowTime","_timestampProvider","_infiniteTimeWindow","_trimBuffer","copy","adjustedBufferSize","VIRTUAL_SCROLL_STRATEGY","FixedSizeVirtualScrollStrategy","itemSize","minBufferPx","maxBufferPx","_scrolledIndexChange","scrolledIndexChange","_itemSize","_minBufferPx","_maxBufferPx","_updateTotalContentSize","_updateRenderedRange","updateItemAndBufferSize","onContentScrolled","onDataLengthChanged","onContentRendered","onRenderedOffsetChanged","scrollToIndex","behavior","scrollToOffset","setTotalContentSize","getDataLength","renderedRange","getRenderedRange","newRange","viewportSize","dataLength","scrollOffset","measureScrollOffset","firstVisibleIndex","maxVisibleItems","newVisibleIndex","startBuffer","expandStart","endBuffer","expandEnd","setRenderedRange","setRenderedContentOffset","CdkFixedSizeVirtualScroll","_fixedSizeVirtualScrollStrategyFactory","fixedSizeDir","forwardRef","ScrollDispatcher","_scrolled","_globalSubscription","_scrolledCount","elementScrolled","scrollableReference","auditTimeInMs","_addGlobalListener","_removeGlobalListener","ancestorScrolled","elementOrElementRef","ancestors","getAncestorScrollContainers","scrollingContainers","_scrollableContainsElement","scrollableElement","CdkScrollable","scrollDispatcher","_elementScrolled","_applyScrollToOptions","LEFT","i2","ViewportRuler","_change","_changeListener","_viewportSize","_updateViewportSize","getViewportRect","documentRect","scrollY","scrollX","throttleTime","innerWidth","innerHeight","SCROLL_SCHEDULER","CdkVirtualScrollViewport","_changeDetectorRef","viewportRuler","_detachedSubject","_renderedRangeSubject","_orientation","_appendOnly","renderedRangeStream","_totalContentSize","_totalContentWidth","_totalContentHeight","_renderedRange","_dataLength","_renderedContentOffset","_renderedContentOffsetNeedsRewrite","_isChangeDetectionPending","_runAfterChangeDetection","_viewportChanges","checkViewportSize","orientation","_calculateSpacerSize","appendOnly","_measureViewportSize","_markChangeDetectionNeeded","forOf","_forOf","dataStream","newLength","_doChangeDetection","rangesEqual","r1","r2","getOffsetToRenderedContentStart","isHorizontal","_renderedContentTransform","measureRenderedContentSize","contentEl","_contentWrapper","measureRangeSize","viewportEl","runAfter","markForCheck","runAfterChangeDetection","getOffset","ɵcmp","_c0","_t","ngContentSelectors","CdkVirtualForOf","_template","_differs","_viewRepeater","viewChange","_dataSourceChanges","pairwise","hasPrev","cur","_changeDataSource","shareReplay","configOrBufferSize","windowTime","bufferSize","_differ","_needsUpdate","_onRenderedDataChange","cdkVirtualForOf","_cdkVirtualForOf","cdkVirtualForTrackBy","_cdkVirtualForTrackBy","cdkVirtualForTemplate","cdkVirtualForTemplateCacheSize","renderedStartIndex","rangeLen","firstNode","lastNode","diff","_renderedItems","_applyChanges","_updateContext","find","oldDs","newDs","_updateComputedContextProperties","_adjustedPreviousIndex","_getEmbeddedViewArgs","forEachIdentityChange","even","odd","useClass","CdkScrollableModule","_DOM","getDOM","setRootDomAdapter","adapter","DomAdapter","PlatformLocation","historyGo","relativePosition","useBrowserPlatformLocation","ɵɵinject","BrowserPlatformLocation","LOCATION_INITIALIZED","_init","_history","getBaseHrefFromDOM","getBaseHref","onPopState","getGlobalEventTarget","onHashChange","pathname","search","newPath","supportsState","go","getState","joinWithSlash","slashes","stripTrailingSlash","pathEndIdx","droppedSlashIdx","normalizeQueryParams","createBrowserPlatformLocation","LocationStrategy","PathLocationStrategy","APP_BASE_HREF","_platformLocation","_removeListenerFns","_baseHref","prepareExternalUrl","internal","includeHash","queryParams","externalUrl","HashLocationStrategy","Location","locationStrategy","_subject","_urlChangeListeners","_urlChangeSubscription","_locationStrategy","browserBaseHref","_stripIndexHtml","ev","isCurrentPathEqualTo","_stripBaseHref","baseHref","_notifyUrlChangeListeners","onUrlChange","fnIndex","onThrow","onReturn","createLocation","CURRENCIES_EN","ADP","AFN","ALL","AMD","AOA","ARS","AUD","AZN","BAM","BBD","BDT","BHD","BIF","BMD","BND","BOB","BRL","BSD","BWP","BYN","BYR","BZD","CAD","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CZK","DJF","DKK","DOP","EGP","ESP","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GNF","GTQ","GYD","HKD","HNL","HRK","HUF","IDR","ILS","INR","IQD","IRR","ISK","ITL","JMD","JOD","JPY","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LTL","LUF","LVL","LYD","MGA","MGF","MMK","MNT","MRO","MUR","MXN","MYR","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PHP","PKR","PLN","PYG","RON","RSD","RUB","RWF","SBD","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STD","STN","SYP","THB","TMM","TND","TRL","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYI","UYU","UYW","UZS","VEF","VND","VUV","XAF","XCD","XOF","XPF","XXX","YER","ZAR","ZMK","ZMW","ZWD","NumberFormatStyle","Plural","FormStyle","TranslationWidth","FormatWidth","NumberSymbol","WeekDay","getLocaleDateFormat","getLastDefinedValue","ɵfindLocaleData","ɵLocaleDataIndex","getLocaleTimeFormat","getLocaleDateTimeFormat","dateTimeFormatData","getLocaleNumberSymbol","symbol","CurrencyDecimal","Decimal","CurrencyGroup","Group","getLocaleNumberFormat","Percent","Currency","Scientific","Zero","One","Two","Few","Many","Other","Format","Standalone","Narrow","Abbreviated","Wide","Short","Long","Full","List","PercentSign","PlusSign","MinusSign","Exponential","SuperscriptingExponent","PerMille","NaN","TimeSeparator","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","getLocalePluralCase","ɵgetLocalePluralCase","checkFullData","extractTime","hours","minutes","getCurrencySymbol","format","currency","getLocaleCurrencies","symbolNarrow","ISO8601_DATE_REGEX","NAMED_FORMATS","DATE_FORMATS_SPLIT","ZoneWidth","DateType","TranslationType","formatDate","timezone","toDate","isDate","createDate","parsedNb","isoStringToDate","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","getNamedFormat","dateTimezoneOffset","getTimezoneOffset","timezoneToOffset","convertTimezoneToLocal","reverseValue","timezoneOffset","addDateMinutes","getTime","setMinutes","getMinutes","dateFormatter","getDateFormatter","DATE_FORMATS","formatter","dateStrGetter","Eras","dateGetter","FullYear","weekNumberingYearGetter","Month","Months","weekGetter","Day","Days","DayPeriods","Hours","Minutes","Seconds","FractionalSeconds","timeZoneGetter","Extended","ShortGMT","newDate","localeId","getLocaleId","formatValue","shortTime","shortDate","formatDateTime","mediumTime","mediumDate","longTime","longDate","fullTime","fullDate","opt_values","padNumber","minusSign","negWrap","neg","strNum","getDatePart","getFullYear","getMonth","getDate","getHours","getSeconds","getMilliseconds","getDay","formatFractionalSeconds","milliseconds","localeMinus","form","extended","getDateTranslation","getLocaleMonthNames","formStyle","months","getLocaleDayNames","days","currentHours","currentMinutes","getLocaleExtraDayPeriodRules","dayPeriods","getLocaleExtraDayPeriods","afterFrom","beforeTo","getLocaleDayPeriods","amPm","getLocaleEraNames","erasData","zone","getThursdayThisWeek","datetime","monthBased","nbDaysBefore1stDayOfMonth","today","thisThurs","firstThurs","getFirstThursdayOfYear","firstDayOfYear","THURSDAY","requestedTimezoneOffset","valueOf","NUMBER_FORMAT_REGEXP","formatNumberToLocaleString","groupSymbol","decimalSymbol","digitsInfo","isPercent","formattedText","isZero","isFinite","parsedNumber","parseNumber","integerLen","zeros","numStr","exponent","MAX_DIGITS","toPercent","fractionLen","minInt","minFraction","minFrac","maxFraction","maxFrac","minIntPart","minFractionPart","maxFractionPart","parseIntAutoRadix","roundNumber","fractionSize","roundAt","digit","dropTrailingZeros","minLen","carry","reduceRight","decimals","lgSize","gSize","negPre","negSuf","posPre","posSuf","formatCurrency","currencyCode","parseNumberFormat","getNumberOfCurrencyDigits","patternParts","positive","negative","positiveParts","integer","fraction","ch","trunkLen","NgLocalization","getPluralCategory","cases","ngLocalization","LOCALE_ID","NgLocaleLocalization","parseCookieValue","cookieStr","cookie","eqIndex","cookieName","cookieValue","NgClass","_iterableDiffers","_keyValueDiffers","_ngEl","_renderer","_iterableDiffer","_keyValueDiffer","_initialClasses","_rawClass","klass","_removeClasses","_applyClasses","ngClass","ɵisListLikeIterable","iterableChanges","_applyIterableChanges","keyValueChanges","_applyKeyValueChanges","forEachAddedItem","_toggleClass","forEachChangedItem","forEachRemovedItem","ɵstringify","rawClassVal","addClass","removeClass","NgComponentOutlet","ngComponentOutlet","ngComponentOutletNgModule","ngModule","ngComponentOutletNgModuleFactory","ngModuleFactory","_componentRef","ngComponentOutletInjector","parentInjector","_moduleRef","createNgModule","getParentInjector","ngModuleRef","projectableNodes","ngComponentOutletContent","NgModuleRef","NgForOfContext","ngForOf","NgForOf","_viewContainer","_ngForOf","_ngForOfDirty","ngForTrackBy","_trackByFn","ngForTemplate","applyViewChange","ilen","NgIf","_context","NgIfContext","_thenTemplateRef","_elseTemplateRef","_thenViewRef","_elseViewRef","ngIf","_updateView","ngIfThen","assertTemplate","ngIfElse","SwitchView","_templateRef","_created","enforceState","created","NgSwitch","_defaultUsed","_caseCount","_lastCaseCheckIndex","_lastCasesMatched","ngSwitch","_ngSwitch","_updateDefaultCases","_addCase","_addDefault","_defaultViews","_matchCase","matched","useDefault","NgSwitchCase","_view","ngSwitchCase","NgSwitchDefault","NgPlural","_localization","_caseViews","ngPlural","_switchValue","addCase","switchView","_clearViews","_activateView","_activeView","NgPluralCase","isANumber","NgStyle","_ngStyle","ngStyle","_setStyle","nameAndUnit","unit","RendererStyleFlags2","setStyle","removeStyle","NgTemplateOutlet","_viewRef","ngTemplateOutletContext","ngTemplateOutlet","ngTemplateOutletInjector","invalidPipeArgumentError","ɵRuntimeError","ngDevMode","_promiseStrategy","PromiseStrategy","createSubscription","updateLatestValue","_subscribableStrategy","SubscribableStrategy","AsyncPipe","_latestValue","_obj","_strategy","_dispose","_selectStrategy","_updateLatestValue","ɵisPromise","ɵisSubscribable","ɵpipe","pure","LowerCasePipe","unicodeWordMatch","TitleCasePipe","txt","UpperCasePipe","DATE_PIPE_DEFAULT_TIMEZONE","DatePipe","defaultTimezone","_INTERPOLATION_REGEXP","I18nPluralPipe","pluralMap","I18nSelectPipe","mapping","JsonPipe","KeyValuePipe","differs","keyValues","compareFn","defaultComparator","differ","differChanges","compareFnChanged","forEachItem","makeKeyValuePair","keyValueA","keyValueB","aString","bString","DecimalPipe","_locale","isValue","formatNumber","strToNumber","PercentPipe","formatPercent","CurrencyPipe","_defaultCurrencyCode","DEFAULT_CURRENCY_CODE","SlicePipe","CommonModule","PLATFORM_BROWSER_ID","platformId","Version","ViewportScroller","ɵɵdefineInjectable","token","BrowserViewportScroller","setOffset","getScrollPosition","supportsScrolling","pageXOffset","pageYOffset","scrollToPosition","scrollToAnchor","elSelected","findAnchorFromDocument","documentResult","createTreeWalker","treeWalker","NodeFilter","SHOW_ELEMENT","currentNode","nextNode","scrollToElement","setHistoryScrollRestoration","scrollRestoration","supportScrollRestoration","scrollRestorationDescriptor","getScrollRestorationProperty","XhrFactory","getUrl","win","isAbsoluteUrl","extractHostname","normalizeSrc","noopImageLoader","IMAGE_LOADER","createImageLoader","buildUrlFn","exampleUrls","isValidPath","throwInvalidPathError","normalizePath","useValue","throwUnexpectedAbsoluteUrlError","createCloudflareUrl","createCloudinaryUrl","createImagekitUrl","createImgixUrl","searchParams","imgDirectiveDetails","ngSrc","includeNgSrc","assertDevMode","checkName","LCPImageObserver","alreadyWarned","PerformanceObserver","initPerformanceObserver","entryList","getEntries","logMissingPriorityWarning","directiveDetails","ɵformatRuntimeError","buffered","registerImage","rewrittenSrc","originalNgSrc","unregisterImage","INTERNAL_PRECONNECT_CHECK_BLOCKLIST","PRECONNECT_CHECK_BLOCKLIST","PreconnectLinkChecker","preconnectLinks","alreadySeen","blocklist","optional","populateBlocklist","origins","deepForEach","assertPreconnect","imgUrl","queryPreconnectLinks","preconnectUrls","links","PRELOADED_IMAGES","PreloadLinkCreator","preloadedImages","createPreloadLinkTag","srcset","sizes","preload","VALID_WIDTH_DESCRIPTOR_SRCSET","DENSITY_SRCSET_MULTIPLIERS","defaultConfig","IMAGE_CONFIG","NgOptimizedImage","imageLoader","processConfig","sortedBreakpoints","Renderer2","imgElement","isServer","isPlatformServer","preloadLinkChecker","lcpObserver","_renderedSrc","_priority","_disableOptimizedSrcset","_fill","inputToInteger","priority","inputToBoolean","disableOptimizedSrcset","setHostAttributes","setHostAttribute","getLoadingBehavior","getFetchPriority","getRewrittenSrc","rewrittenSrcset","ngSrcset","getRewrittenSrcset","shouldGenerateAutomaticSrcset","getAutomaticSrcset","callImageLoader","configWithoutCustomParams","augmentedConfig","loaderParams","imgConfig","widthSrcSet","srcStr","getResponsiveSrcset","getFixedSrcset","filteredBreakpoints","bp","multiplier","HttpHandler","HttpBackend","HttpHeaders","normalizedNames","lazyUpdate","lazyInit","maybeSetNormalizedName","lcName","copyFrom","applyUpdate","toDelete","existing","HttpUrlEncodingCodec","encodeKey","standardEncoding","encodeValue","decodeKey","decodeValue","STANDARD_ENCODING_REGEX","STANDARD_ENCODING_REPLACEMENTS","valueToString","HttpParams","updates","cloneFrom","encoder","fromString","fromObject","paramParser","rawParams","codec","eqIdx","appendAll","eKey","idx","HttpContext","ArrayBuffer","isBlob","isFormData","FormData","HttpRequest","third","fourth","reportProgress","mightHaveBody","urlWithParams","qIdx","sep","serializeBody","isUrlSearchParams","detectContentTypeHeader","setHeaders","setParams","HttpEventType","Sent","UploadProgress","ResponseHeader","DownloadProgress","Response","User","HttpResponseBase","defaultStatus","defaultStatusText","HttpHeaderResponse","HttpResponse","HttpErrorResponse","addBody","HttpClient","req","events$","res$","jsonp","callbackParam","patch","post","put","HttpInterceptorHandler","interceptor","intercept","HTTP_INTERCEPTORS","NoopInterceptor","foreignDocument","JsonpCallbackContext","JsonpClientBackend","callbackMap","resolvedPromise","nextCallback","finished","removeChild","removeListeners","implementation","createHTMLDocument","adoptNode","JsonpInterceptor","XSSI_PREFIX","HttpXhrBackend","xhrFactory","detectedType","reqBody","headerResponse","partialFromXhr","getAllResponseHeaders","getResponseUrl","responseURL","onLoad","originalBody","sentHeaders","onDownProgress","progressEvent","partialText","onUpProgress","progress","upload","XSRF_COOKIE_NAME","XSRF_HEADER_NAME","HttpXsrfTokenExtractor","HttpXsrfCookieExtractor","doc","lastCookieString","lastToken","parseCount","getToken","cookieString","ɵparseCookieValue","HttpXsrfInterceptor","tokenService","headerName","lcUrl","HttpInterceptingHandler","backend","chain","interceptors","HttpClientXsrfModule","providers","multi","HttpClientModule","withOptions","HttpClientJsonpModule","jsonpCallbackContext","XhrFactory$1","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","overriddenName","newLineIndex","concatStringsWithSpace","before","after","__forward_ref__","forwardRefFn","resolveForwardRef","isForwardRef","RuntimeError","formatRuntimeError","renderStringify","stringifyForError","throwProviderNotFoundError","injectorName","assertEqual","actual","expected","assertDefined","comparison","opts","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","isInjectable","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ngInjectableDef","ngInjectorDef","InjectFlags","_injectImplementation","setInjectImplementation","impl","injectRootLimpMode","notFoundValue","injectableDef","Optional","noSideEffects","ChangeDetectionStrategy","ChangeDetectorStatus","ViewEncapsulation$1","Default","Host","Self","SkipSelf","OnPush","CheckOnce","Checked","CheckAlways","Detached","Errored","Destroyed","ViewEncapsulation","Emulated","None","ShadowDom","_global","WorkerGlobalScope","EMPTY_OBJ","EMPTY_ARRAY","NG_COMP_DEF","NG_DIR_DEF","NG_PIPE_DEF","NG_MOD_DEF","NG_FACTORY_DEF","NG_ELEMENT_ID","__NG_ELEMENT_ID__","componentDefCount","ɵɵdefineComponent","componentDefinition","standalone","declaredInputs","def","providersResolver","decls","vars","consts","hostBindings","hostVars","hostAttrs","contentQueries","inputs","outputs","exportAs","onPush","changeDetection","directiveDefs","pipeDefs","getStandaloneInjector","viewQuery","features","encapsulation","setInput","schemas","tView","feature","invertObject","extractDirectiveDef","nonNull","getPipeDef$1","ɵɵsetComponentScope","directives","pipes","getComponentDef","getDirectiveDef","ɵɵdefineNgModule","bootstrap","declarations","transitiveCompileScopes","ɵɵsetNgModuleScope","scope","ngModuleDef","getNgModuleDef","secondary","newLookup","minifiedKey","publicName","declaredName","ɵɵdefineDirective","ɵɵdefinePipe","pipeDef","isStandalone","throwNotFound","isLView","isLContainer","isContentQueryHost","tNode","isComponentHost","isDirectiveHost","isComponentDef","isRootView","getFactoryDef","SimpleChange","isFirstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","definition","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","simpleChangesStore","getSimpleChangesStore","privateName","setSimpleChangesStore","store","SIMPLE_CHANGES_STORE","previousChange","ngInherit","profilerCallback","profiler","hookOrListener","MATH_ML_NAMESPACE","unwrapRNode","getNativeByIndex","lView","getNativeByTNode","getTNode","getComponentLViewByIndex","nodeIndex","slotValue","viewAttachedToChangeDetector","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","ɵɵresetView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","isParent","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","getBindingRoot","bindingRootIndex","bindingStartIndex","getBindingIndex","bindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","setInI18nBlock","isInI18nBlock","inI18n","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","parentTNode","parentLView","allocLFrame","enterView","newView","newLFrame","currentLFrame","childLFrame","elementDepthCount","currentNamespace","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","walkUpViews","nestingLevel","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","registerPostOrderHooks","directiveStart","directiveEnd","lifecycleHooks","ngAfterContentChecked","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","startIndex","nodeIndexLimit","lastNodeIndexFound","callHook","isInitHook","hook","directive","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","setUpAttributes","native","attrs","namespaceURI","attrName","attrVal","isAnimationProp","isNameOnlyAttributeMarker","marker","mergeHostAttrs","dst","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","getParentInjectorView","startView","viewOffset","getParentInjectorViewOffset","parentView","includeViewProviders","setIncludeViewProviders","oldValue","nextNgElementId","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","firstCreatePass","injectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","getTNodeFromLView","diPublicInInjector","bloomAdd","bloomHash","notFoundValueOrThrow","lookupTokenUsingModuleInjector","moduleInjector","previousInjectImplementation","getOrCreateInjectable","embeddedInjectorValue","lookupTokenUsingEmbeddedInjector","currentLView","nodeInjectorValue","lookupTokenUsingNodeInjector","embeddedViewInjector","embeddedViewInjectorValue","bloomHashBitOrFactory","tokenId","createNodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","currentTView","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","canAccessViewProviders","isHostSpecialCase","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","endIndex","providerTokenOrDef","dirDef","isFactory","throwCyclicDependencyError","depPath","previousIncludeViewProviders","registerPreOrderHooks","directiveIndex","directiveDef","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","injectorView","isFirstHostTNode","NodeInjector","_tNode","_lView","ɵɵgetInheritedFactory","ownConstructor","ownFactory","getFactoryOf","objectPrototype","tViewType","ɵɵinjectAttribute","attrNameToInject","injectAttributeImpl","attrsLength","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","props","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","cls","ngMetadataName","annotationCls","propName","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","unusedKey","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","Attribute","attributeName","_desc","Query","ContentChildren","isViewQuery","descendants","emitDistinctChangesOnly","ContentChild","ViewChildren","ViewChild","FactoryTarget","R3TemplateDependencyKind","getCompilerFacade","globalNg","ng","ɵcompilerFacade","Directive","Component","Injectable","Pipe","NgModule","Type","isType","flatten","addToArray","removeFromArray","newArray","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","arrayInsert2","value1","value2","previousEnd","keyValueArrayGet","_arrayIndexOfSorted","middle","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","ReflectionCapabilities","reflect","_reflect","Reflect","_zipTypesAndAnnotations","paramTypes","paramAnnotations","_ownParameters","parentCtor","isDelegateCtor","typeStr","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","decorators","getOwnMetadata","getParentCtor","_ownAnnotations","typeOrFunc","ownAnnotations","_ownPropMetadata","propMetadata","propDecorators","parentPropMetadata","ownPropMetadata","hasLifecycleHook","lcProperty","decoratorInvocations","decoratorInvocation","ctor","parentProto","THROW_IF_NOT_FOUND","DI_DECORATOR_FLAG","NG_TEMP_TOKEN_PATH","NEW_LINE","SOURCE","_currentInjector","setCurrentInjector","former","injectInjectorOnly","getInjectImplementation","ɵɵinvalidFactoryDep","skipSelf","injectArgs","types","flag","getInjectFlag","attachInjectFlag","decorator","catchInjectorError","injectorErrorName","tokenPath","formatError","NG_TOKEN_PATH","Inject","getReflect","reflectDependencies","convertDependencies","dep","reflectDependency","attribute","proto","componentResourceResolutionQueue","componentDefPendingResolution","componentNeedsResolution","templateUrl","styleUrls","modules","checkForDuplicateNgModules","registerNgModuleType","ngModuleType","assertSameOrNotExisting","incoming","Important","DashCase","COMMENT_DISALLOWED","COMMENT_DELIMITER","escapeCommentText","TRACKED_LVIEWS","uniqueIdCounter","MONKEY_PATCH_KEY_NAME","attachPatchData","registerLView","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","getLViewParent","getFirstLContainer","getNearestLContainer","getNextLContainer","applyToElementOrContainer","lNodeToHandle","beforeNode","isComponent","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","parentRElement","applyView","createText","updateTextNode","createCommentNode","createElementNode","namespace","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","declarationContainer","movedViews","insertedComponentLView","lQueries","detachMovedView","declarationViewIndex","insertionLContainer","removeIndex","viewToDetach","removedLView","removeViewFromContainer","destroyLView","destroyViewTree","rootView","lViewOrLContainer","cleanUpView","executeOnDestroys","toCall","callContext","processCleanups","tCleanup","lCleanup","lastLCleanupIndex","idxOrTargetGetter","useCaptureOrSubIdx","instanceCleanupFn","unregisterLView","getParentRElement","getClosestRElement","isMove","nativeAppendOrInsertBefore","nativeParentNode","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","policy$1","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","getFirstNativeNode","tNodeType","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","projectionNodes","getProjectionNodes","componentHost","slotIdx","projection","viewIndexInContainer","nextViewIndex","firstTNodeOfView","isHostElement","nativeParent","nativeRemoveChild","applyNodes","isProjection","rawSlotValue","nextRNode","applyProjectionRecursive","projectionNext","tProjectionNode","componentLView","nodeToProjectOrRNodes","writeDirectStyle","writeDirectClass","getPolicy$1","trustedTypes","createPolicy","createHTML","createScript","createScriptURL","trustedHTMLFromString","ɵɵvalidateIframeAttribute","attrValue","iframe","srcdoc","getPolicy","trustedHTMLFromStringBypass","trustedScriptFromStringBypass","trustedScriptURLFromStringBypass","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","getTypeName","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","getInertBodyHelper","defaultDoc","inertDocumentHelper","InertDocumentHelper","isDOMParserAvailable","DOMParser","parseFromString","DOMParserHelper","getInertBodyElement","inertDocument","inertHtml","inertBodyElement","templateEl","inertBody","documentMode","stripCustomNsAttrs","elAttrs","childNode","SAFE_URL_PATTERN","_sanitizeUrl","tagSet","tags","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","sanitizeChildren","traverseContent","startElement","chars","endElement","checkClobberedElement","elAttr","lower","encodeEntities","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","mXSSAttempts","parsedHtml","getTemplateContent","isTemplateElement","SecurityContext","ɵɵsanitizeHtml","sanitizer","getSanitizer","sanitize","HTML","ɵɵsanitizeStyle","unsafeStyle","STYLE","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","RESOURCE_URL","ɵɵsanitizeScript","unsafeScript","SCRIPT","ɵɵtrustConstantHtml","ɵɵtrustConstantResourceUrl","trustedScriptURLFromString","ɵɵsanitizeUrlOrResourceUrl","getUrlSanitizer","ENVIRONMENT_INITIALIZER","INJECTOR","INJECTOR_DEF_TYPES","NullInjector","importProvidersFrom","ɵproviders","internalImportProvidersFrom","checkForStandaloneCmp","providersOut","dedup","injectorTypesWithProviders","internalSource","walkProviderTree","processInjectorTypesWithProviders","typesWithProviders","provider","parents","defType","injDef","cmpDef","isDuplicate","importTypesWithProviders","imported","defProviders","USE_VALUE$1","isValueProvider","isExistingProvider","isFactoryProvider","isTypeProvider","INJECTOR_SCOPE","NOT_YET","CIRCULAR","NULL_INJECTOR$1","getNullInjector","EnvironmentInjector","R3Injector","scopes","records","_ngOnDestroyHooks","_onDestroyHooks","forEachSingleProvider","processProvider","makeRecord","injectorDefTypes","assertNotDestroyed","service","runInContext","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","resolveInjectorInitializers","initializers","initializer","providerToRecord","providerToFactory","multiRecord","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","getInheritedInjectableDef","typeName","unwrappedProvider","classRef","hasDeps","isImportedNgModuleProviders","ComponentFactory$1","ERROR_COMPONENT","_NullComponentFactoryResolver","noComponentFactoryError","ComponentFactoryResolver$1","createElementRef","NULL","unwrapElementRef","injectElementRef","RendererFactory2","injectRenderer2","nodeAtIndex","Sanitizer","full","major","minor","VERSION","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","ERROR_ORIGINAL_ERROR","getOriginalError","ErrorHandler","_console","handleError","originalError","_findOriginalError","ɵɵresolveWindow","ɵɵresolveDocument","ɵɵresolveBody","maybeUnwrapFn","classIndexOf","classToSearch","startingIndex","foundIndex","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","stringifyCSSSelector","currentChunk","valueOrMarker","NO_CHANGE","ɵɵadvance","selectIndexInternal","checkNoChangesMode","angularCoreDiEnv","compileInjectable","ngFactoryDef","getInjectableMetadata","srcMeta","compilerMeta","typeArgumentCount","isUseClassProvider","isUseFactoryProvider","isUseValueProvider","USE_VALUE","isUseExistingProvider","compiler","compileFactory","createInjector","additionalProviders","createInjectorWithoutInjectorInstances","constructResolvingPath","findFirstClosedCycle","injectionError","constructResolvingMessage","errMsg","wrappedError","addKey","injectors","noAnnotationError","signature","parameter","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","ReflectiveDependency","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","multiProvider","resolvedFactory","ResolvedReflectiveFactory","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","_extractToken","resolveReflectiveProvider","resolveReflectiveProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","resolvedProvider","_normalizeProviders","invalidProviderError","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_parent","_constructionCounter","keyIds","_getByKey","resolveAndCreateChild","createChildFromResolved","inj","resolveAndInstantiate","instantiateResolved","_instantiateProvider","getProviderAtIndex","outOfBoundsError","_new","_getMaxNumberOfObjects","cyclicDependencyError","_instantiate","_getByReflectiveDependency","instantiationError","originalException","originalStack","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","_getObjByKeyId","keyId","_throwOrNull","noProviderError","inj_","_mapProviders","ɵɵdirectiveInject","ɵɵinvalidFactory","toTStylingRange","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","refreshContentQueries","queryStartIdx","directiveDefIdx","createLView","tHostNode","rendererFactory","getUniqueLViewId","getOrCreateTNode","createTNodeAtIndex","createTNode","tParent","insertBeforeIndex","directiveStylingLast","propertyBindings","mergedAttrs","localNames","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","allocExpando","numSlotsToAlloc","initialValue","allocIdx","executeViewQueryFn","templateFn","executeTemplate","staticContentQueries","staticViewQueries","renderChildComponents","hostLView","renderComponent","incompleteFirstPass","refreshView","hooksInitPhaseCompleted","markTransplantedViewsForRefresh","movedLView","refreshEmbeddedViews","embeddedLView","embeddedTView","processHostBindingOpCodes","hostBindingOpCodes","opCode","directiveIdx","bindingRootIndx","hostBindingFn","refreshChildComponents","refreshComponent","firstUpdatePass","rf","prevSelectedIndex","isUpdatePhase","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","addComponentLogic","setInputsFromAttrs","invokeDirectivesHostBindings","elementIndex","getCurrentDirectiveIndex","dirIndex","invokeHostBindingsInCreationMode","saveResolvedLocalsInData","viewData","localRefExtractor","localIndex","getOrCreateComponentTView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","expandoStartIndex","directiveRegistry","pipeRegistry","storeCleanupWithContext","cleanupFn","getOrCreateLViewCleanup","getOrCreateTViewCleanup","generatePropertyAliases","inputAliasMap","propStore","internalName","initializeInputAndOutputAliases","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","elementPropertyInternal","nativeOnly","dataValue","inputData","setInputsForProperty","markDirtyIfOnPush","mapPropName","viewIndex","childComponentLView","resolveDirectives","localRefs","hasDirectives","findDirectiveDefMatches","registry","markAsComponentHost","exportsMap","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","configureViewWithDirective","saveNameToExportMap","lifeCycleHooks","cacheMatchingLocalNames","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","componentView","addToViewTree","createRenderer","elementAttributeInternal","setElementAttribute","strValue","initialInputData","inputsToStore","createLContainer","hostNative","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","markViewDirty","detectChangesInternal","notifyErrorHandler","viewQueryFn","loadComponentRenderer","currentDef","unwrapLView","errorHandler","textBindingInternal","computeStaticStyling","writeToHost","collectNativeNodes","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","ViewRef$1","_cdRefInjectingView","_attachedToViewContainer","viewRefs","reattach","checkNoChanges","attachToViewContainerRef","detachFromAppRef","renderDetachView","attachToAppRef","appRef","RootViewRef","ComponentFactoryResolver","componentDef","ComponentFactory","toRefArray","nonMinified","minified","templateName","ChainedInjector","componentType","stringifyCSSSelectorList","selectorList","isBoundToModule","rootSelectorOrNode","environmentInjector","realEnvironmentInjector","rootViewInjector","hostRenderer","elementName","hostRNode","locateHostElement","elementOrSelector","preserveContent","selectRootElement","getNamespace","rootFlags","rootTView","rootLView","tElementNode","createRootComponentView","viewRenderer","extractAttrsAndClassesFromSelector","nodesforSlot","createRootComponent","hostFeatures","instantiateRootComponent","rootTNode","LifecycleHooksFeature","ComponentRef","ComponentRef$1","_rootLView","changeDetectorRef","getSuperType","ɵɵInheritDefinitionFeature","superType","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","_symbolIterator","getOwnPropertyNames","isListLikeIterable","isJsObject","updateBinding","getBinding","bindingUpdated","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","prefix","v0","suffix","interpolation2","v1","interpolation3","v2","interpolation4","v3","interpolation5","i3","v4","interpolation6","i4","v5","interpolation7","v6","interpolation8","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","ɵɵtemplate","attrsIndex","localRefsIndex","adjustedIndex","templateFirstCreatePass","tViewConsts","comment","ɵɵreference","getContextLView","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","isClassBased","ɵɵelementStart","getNamespace$1","elementStartFirstCreatePass","elementStart","getElementDepthCount","increaseElementDepthCount","ɵɵelementEnd","decreaseElementDepthCount","elementEnd","hasClassInput","hasStyleInput","ɵɵelement","ɵɵelementContainerStart","elementContainerStartFirstCreatePass","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","isSubscribable","ɵɵlistener","listenerFn","useCapture","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","propsLength","minifiedName","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","getProjectAsAttrValue","ngProjectAsAttrIdx","ɵɵprojectionDef","componentNode","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","applyProjection","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","insertTStylingBinding","tStylingKeyWithStatic","isHostBinding","isClassBinding","tBindings","tmplHead","tmplTail","tStylingKey","isKeyDuplicateOfStatic","staticKeyValueArray","previousNode","setTStylingRangePrev","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassNameNext","consumeClassToken","consumeWhitespace","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","ch1","ch2","ch3","lastChIndex","consumeQuotedText","resetParserState","quoteCharCode","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","parseStyle","ɵɵclassMap","classStringParser","parseClassName","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","oldKeyValueArray","newKeyValueArray","oldIndex","oldKey","setKey","toStylingKeyValueArray","styleKeyValueArray","unwrappedValue","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","collectStylingFromTAttrs","collectStylingFromDirectives","templateStylingKey","getTemplateHeadTStylingKey","bindings","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","tRange","isStylingValuePresent","findStylingValue","applyStyling","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","u","localeEn","LOCALE_DATA","findLocaleData","normalizedLocale","normalizeLocale","getLocaleData","parentLocale","LocaleDataIndex","PluralCase","common","LocaleId","DayPeriodsFormat","DayPeriodsStandalone","DaysFormat","DaysStandalone","MonthsFormat","MonthsStandalone","FirstDayOfWeek","WeekendRange","DateFormat","TimeFormat","DateTimeFormat","NumberSymbols","NumberFormats","CurrencyCode","CurrencySymbol","CurrencyName","Currencies","ExtraData","pluralMapping","DEFAULT_LOCALE_ID","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","APPEND_EAGERLY","COMMENT","LOCALE_ID$1","setLocaleId","tNodeInsertBeforeIndex","i18nParent","anchorRNode","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","getInsertBeforeIndex","setInsertBeforeIndex","getTIcu","createTNodePlaceholder","getCurrentICUCaseIndex","tIcu","currentCase","currentCaseLViewIndex","getParentFromIcuCreateOpCode","mergedCode","getRefFromIcuCreateOpCode","changeMask","changeMaskCounter","applyMutableOpCodes","mutableOpCodes","rootRNode","rootIdx","textNodeIndex","parentIdx","insertInFrontOf","refIdx","caseIndex","anchorIdx","elementNodeIndex","commentValue","commentNodeIndex","applyUpdateOpCodes","updateOpCodes","bindingsStartIndex","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","activeCaseIndex","getCaseIndex","icuExpression","bindingValue","resolvedCase","getPluralCase","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","loadIcuContainerVisitor","_stack","_removes","_index","enterIcu","icuContainerIteratorNext","removeOpCode","tIcuIndex","icuContainerIteratorStart","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","i18nStartFirstCreatePass","parentTNodeIndex","subTemplateIndex","createOpCodes","existingTNodeStack","getTranslationForTemplate","isRootTemplateMessage","removeInnerTemplateTranslation","msgParts","replaceNgsp","i18nParseTextIntoPartsAndICU","i18nStartFirstCreatePassProcessTextNode","icuStart","createTNodeAndAddOpCode","isClosing","existingTNodes","isICU","i18nNodeIdx","ensureIcuContainerVisitorLoaded","setTNodeInsertBeforeIndex","hasBinding","generateBindingUpdateOpCodes","destinationNode","bindingStart","maskIndex","sizeIndex","textParts","textValue","toMaskBit","countBindings","opCodes","tagMatched","inTemplate","bindingMask","addUpdateIcuSwitch","mainBinding","setTIcu","valueArr","nestedIcus","icuIndex","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","icuType","binding","blocks","prevPos","braceStack","braces","lastIndex","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","depth","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","addRemoveNode","COMMENT_NODE","isNestedIcu","addRemoveNestedIcu","appendToParentIdx","createAtIdx","icuCreateOpCode","PP_MULTI_VALUE_PLACEHOLDERS_REGEXP","PP_PLACEHOLDERS_REGEXP","PP_ICU_VARS_REGEXP","PP_ICU_PLACEHOLDERS_REGEXP","PP_ICUS_REGEXP","PP_CLOSE_TEMPLATE_REGEXP","PP_TEMPLATE_ID_REGEXP","ɵɵi18nStart","messageIndex","tI18n","applyCreateOpCodes","isComment","appendNow","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","i18nAttributesFirstPass","previousElementIndex","ɵɵi18nExp","setMaskBit","hasChange","ɵɵi18nApply","applyI18n","ɵɵi18nPostprocess","replacements","i18nPostprocess","templateIdsStack","phs","tmpl","placeholders","placeholder","templateId","isCloseTemplateTag","currentTemplateId","_idx","resolveProvider","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","componentProviders","multiFactoryAdd","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","contextIndex","indexInFactory","providerIsTypeProvider","providerIsClassProvider","isClassProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","factories","componentCount","multiProviders","ɵɵProvidersFeature","viewProviders","processProvidersFn","NgModuleRef$1","NgModuleFactory$1","_bootstrapComponents","destroyCbs","_r3Injector","NgModuleFactory","moduleType","EnvironmentNgModuleRefAdapter","createEnvironmentInjector","debugName","StandaloneService","cachedInjectors","getOrCreateStandaloneInjector","standaloneInjector","ɵɵStandaloneFeature","setClassMetadata","clazz","ɵɵpureFunction0","slotOffset","pureFn","ɵɵpureFunction1","exp","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","pipeName","getPipeDef","pipeFactory","pipeInstance","ɵɵpipeBind1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","EventEmitter_","isAsync","__isAsync","nextFn","errorFn","completeFn","_wrapInTimeout","symbolIterator","_results","_emitDistinctChangesOnly","dirty","_changesDetected","_changes","resultsTree","identityAccessor","newResultFlat","arrayEquals","valueA","valueB","notifyOnChanges","setDirty","TemplateRef","injectTemplateRef","createTemplateRef","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","declarationViewLQueries","ViewContainerRef","injectViewContainerRef","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","getViewRefs","indexOrOptions","componentFactoryOrType","isComponentFactory","contextInjector","viewAttachedToContainer","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","addViewToContainer","parentNativeNode","getOrCreateViewRefs","viewRefsArr","commentNode","nativeNextSibling","LQuery_","queryList","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","track","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","createResultForNode","matchingIdx","createResultByTNodeType","createSpecialToken","materializeViewResults","queryIndex","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","isCreationMode","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","saveContentQueryAndDirectiveIndex","tViewContentQueries","lastSavedDirectiveIndex","ɵɵloadQuery","loadQueryInternal","ɵɵtemplateRefExtractor","angularCoreEnv","jitOptions","isModuleWithProviders","isNgModule","moduleQueue","flushingModuleQueue","isResolvedDeclaration","declaration","compileNgModule","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","compileInjector","enqueueModuleForDelayedScoping","setScopeOnDeclaredComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","transitiveScopesForNgModule","exported","importedScope","declared","exportedType","exportedScope","compilationDepth","compileComponent","ngComponentDef","maybeQueueResolutionOfComponentResources","addDirectiveFactoryDef","getJitOptions","preserveWhitespaces","defaultEncapsulation","directiveMetadata","typeSourceSpan","createParseSourceSpan","animations","interpolation","usesInheritance","addDirectiveDefToUndecoratedParents","getStandaloneDefFunctions","cachedDirectiveDefs","cachedPipeDefs","rawDep","flushModuleScopingQueueAsMuchAsPossible","hasSelectorScope","compileDirective","ngDirectiveDef","getDirectiveMetadata","sourceMapUrl","facade","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","lifecycle","usesOnChanges","extractExportAs","viewQueries","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","convertToR3QueryMetadata","propertyName","ann","isQueryAnn","queriesMeta","isInputAnnotation","piece","LIFECYCLE_HOOKS","hookName","metadataName","getPipeMetadata","compilePipe","ngPipeDef","Input","bindingPropertyName","Output","HostBinding","hostPropertyName","HostListener","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","donePromise","rej","runInitializers","asyncInitPromises","initResult","observableAsPromise","APP_ID","_appIdRandomProviderFactory","_randomChar","random","PLATFORM_INITIALIZER","APP_BOOTSTRAP_LISTENER","ANIMATION_MODULE_TYPE","Console","getGlobalLocale","$localize","MissingTranslationStrategy","Warning","Ignore","ModuleWithComponentFactories","componentFactories","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","clearCache","clearCacheFor","getModuleId","Zone","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","shouldCoalesceRunChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","onUnstable","onMicrotaskEmpty","assertZonePatched","_nesting","_outer","_inner","AsyncStackTaggingZoneSpec","fork","TaskTrackingZoneSpec","longStackTraceZoneSpec","lastRequestAnimationFrameId","nativeRequestAnimationFrame","getNativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","forkInnerZoneWithAngularBehavior","delayChangeDetectionForEventsDelegate","delayChangeDetectionForEvents","isCheckStableRunning","fakeTopEventTask","scheduleEventTask","updateMicroTaskStatus","checkStable","invoke","isAngularZone","onInvokeTask","applyThis","applyArgs","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","_hasPendingMicrotasks","microTask","macroTask","onHandleError","isInAngularZone","runTask","EMPTY_PAYLOAD","cancelTask","runGuarded","NoopNgZone","TESTABILITY","TESTABILITY_GETTER","Testability","testabilityGetter","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_testabilityGetter","setTestabilityGetter","addToWindow","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","increasePendingRequestCount","decreasePendingRequestCount","timeoutId","doneCb","getPendingTasks","updateCb","macroTasks","creationLocation","addCallback","whenStable","getPendingRequestCount","registerApplication","unregisterApplication","findProviders","using","exactMatch","TestabilityRegistry","_applications","testability","unregisterAllApplications","getTestability","getAllTestabilities","getAllRootElements","findTestabilityInTree","findInAncestors","_platformInjector","ALLOW_MULTIPLE_PLATFORMS","PLATFORM_DESTROY_LISTENERS","NG_DEV_MODE","NgProbeToken","runPlatformInitializers","inits","createPlatformFactory","parentPlatformFactory","extraProviders","getPlatform","platformProviders","createPlatform","PlatformRef","createPlatformInjector","assertPlatform","requiredToken","_modules","_destroyListeners","bootstrapModuleFactory","moduleFactory","getNgZone","getNgZoneOptions","ngZoneInjector","moduleRef","exceptionHandler","_callAndReportToErrorHandler","initStatus","_moduleDoBootstrap","bootstrapModule","compilerOptions","optionsReducer","compileNgModuleFactory","ngDoBootstrap","destroyListeners","ngZoneEventCoalescing","ngZoneRunCoalescing","ngZoneToUse","_exceptionHandler","_bootstrapListeners","_views","_runningTick","_stable","componentTypes","_onMicrotaskEmptySubscription","tick","isCurrentlyStable","stableSub","unstableSub","assertInAngularZone","merge$1","componentOrFactory","cf","selectorOrNode","compRef","_loadComponent","warnIfDestroyed","_devMode","_runModeLocked","enableProdMode","ChangeDetectorRef","injectChangeDetectorRef","createViewRef","isPipe","hostComponentView","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","localMovePreviousIndex","localCurrentIndex","forEachPreviousItem","_nextPrevious","_nextAdded","forEachMovedItem","_nextMoved","_nextIdentityChange","collection","check","itemTrackBy","mayBeDirty","trackById","_verifyReinsertion","_addIdentityChange","_mismatch","iterateListLike","_truncate","isDirty","previousRecord","_prev","_remove","_reinsertAfter","_moveAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_records","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","defaultIterableDiffersFactory","IterableDiffers","copied","defaultKeyValueDiffersFactory","KeyValueDiffers","kv","keyValDiff","iterableDiff","platformCore","ApplicationModule","coerceToBoolean","BUTTON_HOST_ATTRIBUTES","_MatButtonBase","mixinColor","mixinDisabled","mixinDisableRipple","MatButton","_animationMode","isRoundButton","_hasHostAttributes","isIconButton","_getHostElement","_isRippleDisabled","disableRipple","MatRipple","MatAnchor","focusMonitor","animationMode","_haltDisabledEvents","stopImmediatePropagation","MatButtonModule","MatRippleModule","MatCommonModule","AnimationCurves","STANDARD_CURVE","DECELERATION_CURVE","ACCELERATION_CURVE","SHARP_CURVE","AnimationDurations","COMPLEX","ENTERING","EXITING","MATERIAL_SANITY_CHECKS","MATERIAL_SANITY_CHECKS_FACTORY","_sanityChecks","_hasDoneGlobalChecks","_checkIsEnabled","defaultColor","_color","colorPalette","_disableRipple","mixinTabIndex","defaultTabIndex","_tabIndex","mixinErrorState","stateChanges","errorState","updateErrorState","oldState","_parentFormGroup","_parentForm","matcher","errorStateMatcher","_defaultErrorStateMatcher","control","ngControl","isErrorState","mixinInitialized","_pendingSubscribers","_notifySubscriber","_markInitialized","MAT_DATE_LOCALE","MAT_DATE_LOCALE_FACTORY","DateAdapter","_localeChanges","localeChanges","getValidDateOrNull","isDateInstance","isValid","deserialize","invalid","setLocale","compareDate","getYear","sameDate","firstValid","secondValid","clampDate","MAT_DATE_FORMATS","ISO_8601_REGEX","valueFunction","valuesArray","NativeDateAdapter","matDateLocale","useUtcForDisplay","getDayOfWeek","getMonthNames","dtf","timeZone","_format","getDateNames","getDayOfWeekNames","weekday","getYearName","getFirstDayOfWeek","getNumDaysInMonth","_createDateWithOverflow","displayFormat","addCalendarYears","years","addCalendarMonths","addCalendarDays","toIso8601","_2digit","NativeDateModule","MatNativeDateModule","dateInput","monthYearLabel","dateA11yLabel","monthYearA11yLabel","ShowOnDirtyErrorStateMatcher","submitted","ErrorStateMatcher","touched","MatLine","setLines","setClass","MatLineModule","RippleRef","fadeOut","fadeOutRipple","defaultRippleAnimationConfig","enterDuration","exitDuration","passiveEventOptions","pointerDownEvents","pointerUpEvents","RippleRenderer","_target","_isPointerDown","_activeRipples","_pointerUpEventsRegistered","fadeInRipple","animationConfig","centered","distanceToFurthestCorner","distX","distY","ripple","transitionDuration","enforceStyleRecalculation","rippleRef","persistent","_mostRecentTransientRipple","_runTimeoutOutsideZone","isMostRecentTransientRipple","wasActive","rippleEl","opacity","fadeOutAll","fadeOutAllNonPersistent","setupTriggerEvents","_triggerElement","_removeTriggerEvents","_registerEvents","handleEvent","_onTouchStart","_onPointerUp","isFakeMousedown","isSyntheticEvent","_lastTouchStartEvent","rippleDisabled","clientX","clientY","rippleConfig","terminateOnPointerUp","eventTypes","MAT_RIPPLE_GLOBAL_OPTIONS","globalOptions","_globalOptions","_rippleRenderer","_setupTriggerEventsIfEnabled","_trigger","launch","configOrX","MatPseudoCheckbox","MatPseudoCheckboxModule","MAT_OPTION_PARENT_COMPONENT","_MatOptgroupMixinBase","_uniqueOptgroupIdCounter","_MatOptgroupBase","_labelId","_inert","inertGroups","MAT_OPTGROUP","MatOptgroup","_uniqueIdCounter","MatOptionSelectionChange","isUserInput","_MatOptionBase","_mostRecentViewValue","onSelectionChange","_stateChanges","viewValue","_emitSelectionChangeEvent","_handleKeydown","_selectViaInteraction","_getAriaSelected","_getTabIndex","MatOption","_countGroupLabelsBeforeOption","optionIndex","optionGroups","optionsArray","groupCounter","_getOptionScrollPosition","optionOffset","optionHeight","currentScrollPosition","panelHeight","MatOptionModule","MatDialogConfig","ariaDescribedBy","ariaLabelledBy","autoFocus","restoreFocus","delayFocusTrap","closeOnNavigation","matDialogAnimations","dialogContainer","_MatDialogContainerBase","_interactivityChecker","_animationStateChanged","_elementFocusedBeforeDialogWasOpened","_closeInteractionType","_ariaLabelledBy","_initializeWithAttachedContent","_focusTrap","_recaptureFocus","_containsFocus","_forceFocus","_focusByCssSelector","elementToFocus","focusedSuccessfully","_focusDialogContainer","_restoreFocus","previousElement","MatDialogContainer","_onAnimationDone","toState","_onAnimationStart","_startExitAnimation","uniqueId","MatDialogRef","_containerInstance","_afterOpened","_afterClosed","_beforeClosed","_closeFallbackTimeout","_finishDialogClose","_result","componentInstance","_closeDialogVia","dialogResult","afterOpened","afterClosed","beforeClosed","_getPositionStrategy","interactionType","MAT_DIALOG_DATA","MAT_DIALOG_DEFAULT_OPTIONS","MAT_DIALOG_SCROLL_STRATEGY","MAT_DIALOG_SCROLL_STRATEGY_PROVIDER","MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY","_MatDialogBase","_parentDialog","_dialogRefConstructor","_dialogContainerType","_dialogDataToken","_openDialogsAtThisLevel","_afterAllClosedAtThisLevel","_afterOpenedAtThisLevel","_ariaHiddenElements","afterAllClosed","openDialogs","_getAfterAllClosed","componentOrTemplateRef","_applyConfigDefaults","getDialogById","_attachDialogContainer","dialogRef","_attachDialogContent","_hideNonDialogContentFromAssistiveTechnology","_removeOpenDialog","closeAll","_closeDialogs","dialog","_getOverlayConfig","dialogConfig","userInjector","containerPortal","_createInjector","contentRef","overlayContainer","sibling","dialogs","MatDialog","parentDialog","dialogElementUid","MatDialogClose","_dialog","getClosestDialog","proxiedChange","_matDialogClose","_matDialogCloseResult","_onButtonClick","screenX","screenY","MatDialogTitle","_dialogRef","MatDialogContent","MatDialogActions","MatDialogModule","_r2","ctx_r1","ctx_r0","MAT_SNACK_BAR_DATA","MatSnackBarConfig","announcementMessage","horizontalPosition","verticalPosition","MAX_TIMEOUT","pow","MatSnackBarRef","containerInstance","_afterDismissed","_onAction","_dismissedByAction","_onExit","_finishDismiss","dismiss","exit","_durationTimeoutId","dismissWithAction","closeWithAction","_dismissAfter","_open","dismissedByAction","afterDismissed","_onEnter","onAction","SimpleSnackBar","snackBarRef","hasAction","matSnackBarAnimations","snackBarState","MatSnackBarContainer","snackBarConfig","_announceDelay","_onAnnounce","_animationState","_assertNotAttached","_applySnackBarClasses","_live","_role","onAnimationEnd","fromState","_completeExit","enter","_screenReaderAnnounce","_announceTimeoutId","panelClasses","inertElement","liveElement","focusedElement","i3$1","MatSnackBarModule","MAT_SNACK_BAR_DEFAULT_OPTIONS","MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY","_MatSnackBarBase","_breakpointObserver","_parentSnackBar","_defaultConfig","_snackBarRefAtThisLevel","_openedSnackBarRef","openFromComponent","_attach","openFromTemplate","simpleSnackBarComponent","_attachSnackBarContainer","snackBarContainerComponent","containerRef","userConfig","handsetCssClass","_animateSnackBar","isLeft","isRight","i2$1","i3$2","MatSnackBar","live","breakpointObserver","parentSnackBar","invalidTimingValue","isNode","optimizeGroupPlayer","ɵAnimationGroupPlayer","normalizeKeyframes$1","driver","normalizer","preStyles","postStyles","normalizedKeyframes","previousOffset","previousKeyframe","kf","isSameOffset","normalizedKeyframe","normalizedProp","normalizedValue","normalizePropertyName","normalizeStyleValue","animationFailed","listenOnPlayer","copyAnimationEvent","makeAnimationEvent","triggerName","getOrSetDefaultValue","parseTimelineCommand","separatorPos","_contains","elm1","elm2","_documentElement","getParentElement","_CACHED_BODY","_IS_WEBKIT","validateStyleProperty","getBodyNode","containsVendorPrefix","invokeQuery","NoopAnimationDriver","matchesElement","_selector","computeStyle","easing","previousPlayers","scrubberAccessRequested","AnimationDriver","NOOP","ENTER_CLASSNAME","LEAVE_CLASSNAME","NG_TRIGGER_CLASSNAME","NG_TRIGGER_SELECTOR","NG_ANIMATING_CLASSNAME","NG_ANIMATING_SELECTOR","resolveTimingValue","_convertTimeValueToMS","resolveTiming","allowNegativeValues","parseTimeExpression","regex","delayMatch","easingVal","containsErrors","negativeStepValue","negativeDelayValue","copyObj","convertToMap","styleMap","copyStyles","backfill","getStyleAttributeString","writeStyleAttribute","styleAttrValue","camelCaseToDashCase","setStyles","formerStyles","camelProp","dashCaseToCamelCase","eraseStyles","normalizeAnimationEntry","validateStyleParams","extractStyleParams","varName","invalidStyleParams","PARAM_REGEX","interpolateParams","original","localVal","invalidParamValue","iteratorToArray","DASH_CASE_REGEXP","visitDslNode","visitor","visitTrigger","visitState","visitTransition","visitSequence","visitGroup","visitAnimate","visitKeyframes","visitStyle","visitReference","visitAnimateChild","visitAnimateRef","visitQuery","visitStagger","invalidNodeType","parseTransitionExpr","transitionValue","expressions","parseInnerTransitionStr","eventStr","parseAnimationAlias","alias","invalidTransitionAlias","invalidExpression","makeLambdaFromStates","isFullAnyStateExpr","TRUE_BOOLEAN_VALUES","FALSE_BOOLEAN_VALUES","lhs","rhs","LHS_MATCH_BOOLEAN","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN","SELF_TOKEN_REGEX","buildAnimationAst","warnings","AnimationAstBuilderVisitor","_driver","AnimationAstBuilderContext","_resetContextStyleTimingState","currentQuerySelector","collectedStyles","currentTime","queryCount","depCount","transitions","invalidTrigger","stateDef","invalidDefinition","styleAst","astParams","containsDynamicStyles","missingSubs","sub","invalidState","matchers","normalizeAnimationOptions","furthestTime","innerAst","timingAst","constructTimingAst","makeTimingAst","ast","dynamic","currentAnimateTimings","styleMetadata","newStyleData","_styleAst","isEmptyStep","_makeStyleAst","_validateStyleAst","metadataStyles","styleTuple","collectedEasing","styleData","startTime","tuple","collectedEntry","updateCollectedStyle","invalidParallelAnimation","firstStart","firstEnd","secondStart","secondEnd","invalidKeyframes","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","offsetVal","consumeOffset","invalidOffset","keyframeOffsetsOutOfOrder","generatedOffset","keyframesMissingOffsets","animateDuration","durationUpToThisFrame","parentSelector","currentQuery","includeSelf","normalizeSelector","hasAmpersand","originalSelector","invalidStagger","currentTransition","unsupportedCSSPropertiesFound","normalizeParams","createTimelineInstruction","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","_map","instructions","existingInstructions","ENTER_TOKEN_REGEX","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","buildKeyframes","AnimationTimelineContext","currentTimeline","delayNextStep","timelines","timeline","containsAnimation","lastRootTimeline","allowOnlyTimelineStyles","elementInstructions","innerContext","createSubContext","_visitSubInstructions","transformIntoNewTimeline","_applyAnimationRefDelays","animationsRefsOptions","animationRefOptions","animationDelay","animationDelayValue","instruction","instructionTimings","appendInstructionToTimeline","updateOptions","subContextCount","snapshotCurrentStyles","DEFAULT_NOOP_PREVIOUS_NODE","applyStylesToKeyframe","innerTimelines","mergeTimelineCollectedStyles","_visitTiming","incrementTime","hasCurrentStyleProperties","forwardFrame","applyEmptyStep","innerTimeline","forwardTime","elms","currentQueryTotal","sameElementTimeline","parentContext","maxTime","currentStaggerTime","startingTime","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate","_copyOptions","oldParams","newTime","updatedTimings","builder","SubTimelineBuilder","stretchStartingKeyframe","invalidQuery","_elementTimelineStylesLookup","_previousKeyframe","_currentKeyframe","_keyframes","_styleSummary","_localTimelineStyles","_pendingStyles","_backFill","_currentEmptyStepKeyframe","_globalTimelineStyles","_loadKeyframe","hasPreStyleStep","_updateStyle","flattenStyles","allStyles","allProperties","getFinalKeyframe","details1","details0","finalKeyframes","keyframe","finalKeyframe","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","timeAtKeyframe","decimalPoints","mult","AnimationStyleNormalizer","DIMENSIONAL_PROP_SET","WebAnimationsStyleNormalizer","userProvidedProperty","normalizedProperty","strVal","valAndSuffixMatch","invalidCssUnitValue","createTransitionInstruction","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","currentState","nextState","oneOrMoreTransitionsMatch","matchFns","buildStyles","stateName","styler","currentOptions","nextOptions","skipAstBuild","transitionAnimationParams","currentAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","applyParamDefaults","elm","queriedElementsList","userParams","defaults","AnimationStateStyles","defaultParams","combinedParams","AnimationTrigger","_normalizer","transitionFactories","balanceProperties","fallbackTransition","createFallbackTransition","containsQueries","matchTransition","matchStyles","stateMap","EMPTY_INSTRUCTION_MAP","TimelineAnimationEngine","bodyNode","_animations","_playersById","registerFailed","_buildPlayer","autoStylesMap","inst","missingOrDestroyedAnimation","createAnimationFailed","_getPlayer","missingPlayer","baseEvent","QUEUED_CLASSNAME","DISABLED_CLASSNAME","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","namespaceId","setForRemoval","setForMove","hasAnimation","removedBeforeQueried","NULL_REMOVED_QUERIED_STATE","REMOVAL_FLAG","StateValue","isObj","normalizeTriggerValue","absorbOptions","VOID_VALUE","DEFAULT_STATE_VALUE","AnimationTransitionNamespace","_engine","_triggers","_queue","_elementListeners","_hostClassName","phase","missingTrigger","missingEvent","isTriggerEventValid","unsupportedTriggerEvent","triggersWithStates","statesByElement","afterFlush","_getTrigger","unregisteredTrigger","defaultToFallback","TransitionAnimationPlayer","objEquals","reportError","playersOnElement","playersByElement","queued","isFallbackTransition","totalQueuedPlayers","clearElementCache","elementPlayers","_signalRemovalForInnerTriggers","namespaces","fetchNamespacesByElement","ns","triggerLeaveAnimation","afterFlushAnimationsDone","destroyAfterComplete","triggerStates","previousTriggersValues","markElementAsRemoved","processLeaveNode","prepareLeaveAnimationListeners","elementStates","visitedTriggers","removeNode","engine","containsPotentialParentTransition","totalAnimations","currentPlayers","playersByQueriedElement","removalFlag","destroyInnerAnimations","_onRemovalComplete","insertNode","drainQueuedTransitions","microtaskId","markedForDestroy","d0","d1","elementContainsData","containsData","TransitionAnimationEngine","newHostElements","disabledNodes","_namespaceLookup","_namespaceList","_flushFns","_whenQuietFns","namespacesByHostElement","collectedEnterElements","collectedLeaveElements","onRemovalComplete","queuedPlayers","createNamespace","_balanceNamespaceList","collectEnterElement","namespaceList","ancestor","ancestorNs","registerTrigger","_fetchNamespace","stateValue","isElementNode","markElementAsDisabled","hostNS","_buildInstruction","subTimelines","skipBuildAst","containerElement","destroyActiveAnimationsForElement","finishActiveQueriedAnimationOnElement","whenRenderingDone","cleanupFns","_flushAnimations","quietFns","triggerTransitionsFailed","skippedPlayers","skippedPlayersMap","queuedInstructions","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","allTriggerElements","enterNodeMap","buildRootMap","enterNodeMapIds","nodes","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","nodeIsOrphaned","stringMap","setVal","transitionFailed","allPreviousPlayersMap","animationElementMap","_beforeAnimationBuild","_getPreviousPlayers","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","cloakAndComputeStyles","preStylesMap","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","overrideTotalTime","parentWithAnimation","parentsToAdd","detectedParent","innerPlayer","_buildAnimation","setRealPlayer","parentPlayers","playersForElement","syncPlayerEvents","queriedPlayerResults","queriedInnerElements","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation","targetNameSpaceId","targetTriggerName","timelineInstruction","realPlayer","getRealPlayer","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","flattenGroupPlayers","finalPlayers","_flattenGroupPlayersRecur","wrappedPlayer","deleteOrUnsetInMap","currentValues","_player","_containsRealPlayer","_queuedCallbacks","callbacks","_queueEvent","cloakElement","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","roots","rootMap","nodeSet","localRootMap","getRoot","postEntry","preEntry","AnimationEngine","_triggerCache","_transitionEngine","_timelineEngine","componentId","triggerBuildFailed","buildTrigger","onInsert","onRemove","disableAnimations","eventPhase","SpecialCasedStyles","_startStyles","_endStyles","initialStyles","initialStylesByElement","_initialStyles","filterNonAnimatableStyles","isNonAnimatableStyle","WebAnimationsPlayer","_specialStyles","currentSnapshot","_duration","_preparePlayerBeforeStart","domPlayer","_triggerWebAnimation","_finalKeyframe","_resetDomPlayerState","_convertKeyframesToObject","kfs","frame","fromEntries","WebAnimationsDriver","validateAnimatableStyleProperty","playerOptions","previousStyles","previousWebAnimationPlayers","allowPreviousPlayerStylesMerge","normalizeKeyframes","balancePreviousStylesIntoKeyframes","startingKeyframe","missingStyleProps","specialStyles","packageNonAnimatableStyles","startStyles","endStyles","BrowserAnimationBuilder","rootRenderer","_nextAnimationId","typeData","issueAnimationCommand","BrowserAnimationFactory","RendererAnimationPlayer","_command","_listen","DISABLE_ANIMATIONS_FLAG","AnimationRendererFactory","_currentId","_microtaskId","_animationCallbacksBuffer","_rendererCache","_cdRecurDepth","onRendererDestroy","BaseAnimationRenderer","animationTriggers","AnimationRenderer","_scheduleCountTask","scheduleListenerCallback","newChild","refChild","oldChild","resolveElementFromTarget","parseTriggerCallbackName","dotIndex","countId","InjectableAnimationEngine","ɵAnimationEngine","SHARED_ANIMATION_PROVIDERS","ɵAnimationStyleNormalizer","instantiateDefaultStyleNormalizer","ɵWebAnimationsStyleNormalizer","instantiateRendererFactory","ɵDomRendererFactory2","BROWSER_ANIMATIONS_PROVIDERS","ɵWebAnimationsDriver","BROWSER_NOOP_ANIMATIONS_PROVIDERS","ɵNoopAnimationDriver","BrowserAnimationsModule","BrowserModule","NoopAnimationsModule","GenericBrowserDomAdapter","ɵDomAdapter","supportsDOMEvents","BrowserDomAdapter","ɵsetRootDomAdapter","onAndCancel","getDefaultDocument","createHtmlDocument","isShadowRoot","getBaseElementHref","baseElement","relativePath","urlParsingNode","pathName","resetBaseElement","getUserAgent","getCookie","TRANSITION_ID","SERVER_TRANSITION_PROVIDERS","appInitializerFactory","transitionId","dom","ɵgetDOM","BrowserXhr","EVENT_MANAGER_PLUGINS","EventManager","plugins","_eventNameToPlugin","_plugins","_findPluginFor","addGlobalEventListener","getZone","plugin","EventManagerPlugin","SharedStylesHost","_stylesSet","addStyles","additions","onStylesAdded","getAllStyles","DomSharedStylesHost","_hostNodes","_addStylesToHost","styleNodes","styleEl","addHost","hostNode","removeHost","styleNode","NAMESPACE_URIS","xhtml","xlink","xml","math","COMPONENT_REGEX","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","compId","decoratePreventDefault","DomRendererFactory2","eventManager","sharedStylesHost","appId","rendererByCompId","defaultRenderer","DefaultDomRenderer2","EmulatedEncapsulationDomRenderer2","applyToHost","ShadowDomRenderer","isTemplateNode","namespaceUri","removeAttributeNS","removeProperty","contentAttr","shimContentAttribute","componentShortId","hostAttr","shimHostAttribute","hostEl","nodeOrShadowRoot","DomEventsPlugin","MODIFIER_KEYS","_keyMap","Del","Esc","Left","Right","Up","Down","Menu","Scroll","Win","MODIFIER_KEY_GETTERS","KeyEventsPlugin","parseEventName","parsedEvent","outsideHandler","eventCallback","fullKey","domEventName","_normalizeKey","codeIX","modifierName","fullKeyCode","keycode","modifierGetter","matchEventFullKeyCode","keyName","INTERNAL_BROWSER_PLATFORM_PROVIDERS","ɵPLATFORM_BROWSER_ID","initDomAdapter","makeCurrent","ɵsetDocument","platformBrowser","BROWSER_MODULE_PROVIDERS_MARKER","TESTABILITY_PROVIDERS","ɵTESTABILITY_GETTER","BrowserGetTestability","ɵglobal","testabilities","didWork","decrement","didWork_","ɵTESTABILITY","BROWSER_MODULE_PROVIDERS","ɵINJECTOR_SCOPE","providersAlreadyPresent","Meta","_dom","addTag","forceCreation","_getOrCreateElement","addTags","getTag","attrSelector","getTags","updateTag","_parseSelector","_setMetaElementAttributes","removeTag","removeTagElement","_containsAttributes","_getMetaKeyMap","META_KEYS_MAP","createMeta","httpEquiv","getTitle","setTitle","newTitle","createTitle","TransferState","onSerializeCallbacks","hasKey","onSerialize","toJson","retrieveTransferredState","initialState","unescapeHtml","unescapedText","BrowserTransferStateModule","EVENT_NAMES","pan","panstart","panmove","panend","pancancel","panleft","panright","panup","pandown","pinch","pinchstart","pinchmove","pinchend","pinchcancel","pinchin","pinchout","press","pressup","rotatestart","rotatemove","rotateend","rotatecancel","swipe","swipeleft","swiperight","swipeup","swipedown","doubletap","HAMMER_GESTURE_CONFIG","HAMMER_LOADER","HammerGestureConfig","events","overrides","buildHammer","mc","Hammer","HammerGesturesPlugin","_loaderPromise","isCustomEvent","cancelRegistration","eventObj","HammerModule","ɵConsole","DomSanitizer","DomSanitizerImpl","ɵallowSanitizationBypassAndThrow","ɵunwrapSafeValue","ɵ_sanitizeHtml","ɵ_sanitizeUrl","bypassSecurityTrustHtml","ɵbypassSanitizationTrustHtml","bypassSecurityTrustStyle","ɵbypassSanitizationTrustStyle","bypassSecurityTrustScript","ɵbypassSanitizationTrustScript","bypassSecurityTrustUrl","ɵbypassSanitizationTrustUrl","bypassSecurityTrustResourceUrl","ɵbypassSanitizationTrustResourceUrl","domSanitizerImplFactory","_refCount","refCounter","sharedConnection","_connection","ConnectableObservable","subjectFactory","getSubject","_teardown","higherOrderRefCount","defaultIfEmpty","throwIfEmpty","defaultErrorFactory","hasDefaultValue","scanInternals","accumulator","hasSeed","emitOnNext","emitBeforeComplete","hasState","scan","takeLast","PRIMARY_OUTLET","RouteTitleKey","ParamsAsMap","convertToParamMap","defaultUrlMatcher","segments","segmentGroup","route","pathMatch","hasChildren","posParams","segment","consumed","shallowEqual","equalArraysOrString","aSorted","bSorted","wrapIntoObservable","ɵisObservable","NG_DEV_MODE$9","pathCompareMap","exact","equalSegmentGroups","containee","matrixParams","equalPath","matrixParamsMatch","numberOfChildren","subset","containsSegmentGroup","paramCompareMap","equalParams","containsParams","ignored","containsTree","fragment","containsSegmentGroupHelper","containeePaths","containerPaths","containeeSegment","UrlTree","queryParamMap","_queryParamMap","DEFAULT_SERIALIZER","serialize","UrlSegmentGroup","serializePaths","UrlSegment","parameterMap","_parameterMap","serializePath","as","UrlSerializer","DefaultUrlSerializer","UrlParser","parseRootSegment","parseQueryParams","parseFragment","serializeSegment","serializeQueryParams","strParams","encodeUriQuery","encodeUriFragment","encodeURI","primary","mapChildrenIntoArray","childOutlet","encodeUriString","encodeUriSegment","decodeQuery","serializeMatrixParams","SEGMENT_RE","matchSegments","QUERY_PARAM_RE","QUERY_PARAM_VALUE_RE","remaining","consumeOptional","peekStartsWith","parseChildren","parseQueryParam","parseSegment","parseParens","parseMatrixParams","parseParam","valueMatch","matchQueryParams","matchUrlQueryParamValue","decodedKey","decodedVal","currentVal","allowPrimary","outletName","createRoot","rootCandidate","squashSegmentGroup","newChildren","childCandidate","mergeTrivialChildren","isUrlTree","createUrlTree","urlTree","commands","nav","computeNavigation","toRoot","createTreeUsingPathIndex","lastPathIndex","startingPosition","findStartingPosition","isAbsolute","Position","processChildren","isMatrixParams","createPositionApplyingDoubleDots","numberOfDoubleDots","snapshot","_urlSegment","updateSegmentGroupChildren","updateSegmentGroup","_lastPathIndex","outlets","segmentPath","isCommandWithOutlets","oldRoot","oldSegmentGroup","newSegmentGroup","qp","replaceSegment","newRoot","oldSegment","newSegment","Navigation","cmdWithOutlet","cmdIdx","urlPart","partIndex","ci","dd","prefixedWith","currentCommandIndex","currentPathIndex","noMatch","pathIndex","commandIndex","curr","compare","slicedCommands","createNewSegmentGroup","getOutlets","outlet","createNewSegmentChildren","RouterEvent","NavigationStart","navigationTrigger","restoredState","NavigationEnd","urlAfterRedirects","NavigationCancel","NavigationError","RoutesRecognized","GuardsCheckStart","GuardsCheckEnd","shouldActivate","ResolveStart","ResolveEnd","RouteConfigLoadStart","RouteConfigLoadEnd","ChildActivationStart","routeConfig","ChildActivationEnd","ActivationStart","ActivationEnd","routerEvent","Tree","_root","pathFromRoot","findNode","findPath","cc","TreeNode","nodeChildrenAsMap","RouterState","setRouterState","createEmptyState","rootComponent","createEmptyStateSnapshot","activated","ActivatedRouteSnapshot","RouterStateSnapshot","emptyUrl","emptyParams","emptyData","emptyQueryParams","ActivatedRoute","futureSnapshot","_futureSnapshot","_routerState","paramMap","_paramMap","inheritedParamsDataResolve","paramsInheritanceStrategy","inheritingStartingFrom","flattenInherited","_resolvedData","urlSegment","correctedLastPathIndex","_correctedLastPathIndex","_resolve","serializeNode","advanceActivatedRoute","nextSnapshot","shallowEqualArrays","equalParamsAndUrlSegments","equalUrlParams","equalSegments","parentsMismatch","createNode","routeReuseStrategy","prevState","shouldReuseRoute","createOrReuseChildren","shouldAttach","detachedRouteHandle","retrieve","createActivatedRoute","NAVIGATION_CANCELING_ERROR","redirectingNavigationError","urlSerializer","redirectTo","navigationBehaviorOptions","navigationCancelingError","redirectUrl","cancellationCode","isRedirectingNavigationCancelingError$1","isNavigationCancelingError$1","OutletContext","resolver","ChildrenOutletContexts","attachRef","contexts","onChildOutletCreated","childName","getOrCreateContext","onChildOutletDestroyed","onOutletDeactivated","onOutletReAttached","NG_DEV_MODE$7","RouterOutlet","parentContexts","changeDetector","_activatedRoute","activateEvents","deactivateEvents","attachEvents","detachEvents","activateWith","isActivated","activatedRoute","activatedRouteData","cmp","deactivate","resolverOrInjector","childContexts","OutletInjector","isComponentFactoryResolver","ɵEmptyOutletComponent","getOrCreateRouteInjectorIfNeeded","currentInjector","standardizeConfig","loadComponent","loadChildren","getOutlet","sortByMatchingOutlets","routes","sortedConfig","getClosestRouteInjector","_loadedInjector","ActivateRoutes","futureState","currState","forwardEvent","activate","futureRoot","currRoot","deactivateChildRoutes","activateChildRoutes","futureNode","currNode","futureChild","childOutletName","deactivateRoutes","deactivateRouteAndItsChildren","future","shouldDetach","detachAndStoreRouteSubtree","deactivateRouteAndOutlet","activateRoutes","stored","cmpFactoryResolver","CanActivate","CanDeactivate","getAllRouteGuards","getChildRouteGuards","getTokenOrFunctionIdentity","tokenOrFunction","ɵisInjectable","futurePath","checks","canDeactivateChecks","canActivateChecks","prevChildren","getRouteGuards","shouldRun","shouldRunGuardsAndResolvers","runGuardsAndResolvers","isEmptyError","INITIAL_VALUE","prioritizedGuardValue","checkGuards","targetSnapshot","guards","guardsResult","runCanDeactivateChecks","futureRSS","currRSS","runCanDeactivate","currARS","canDeactivate","canDeactivateObservables","closestInjector","guard","isCanDeactivate","isBoolean","runCanActivateChecks","fireChildActivationStart","fireActivationStart","runCanActivateChild","futureARS","canActivateChildGuardsMapped","getCanActivateChild","canActivateChild","guardsMapped","isCanActivateChild","runCanActivate","canActivate","canActivateObservables","isCanActivate","runCanLoadGuards","canLoad","canLoadObservables","injectionToken","isCanLoad","redirectIfUrlTree","runCanMatchGuards","canMatch","canMatchObservables","isCanMatch","noMatch$1","consumedSegments","remainingSegments","positionalParamSegments","matchWithChecks","slicedSegments","relativeLinkResolution","containsEmptyPathMatchesWithNamedOutlets","emptyPathMatch","createChildrenForEmptyPaths","primarySegment","_sourceSegment","_segmentIndexShift","containsEmptyPathMatches","addEmptyPathsToChildrenIfNeeded","isImmediateMatch","rawSegment","noLeftoversInUrl","NG_DEV_MODE$6","NoMatch$1","AbsoluteRedirect","absoluteRedirect","newTree","ApplyRedirects","configLoader","allowRedirects","splitGroup","rootSegmentGroup","expandSegmentGroup","noMatchError","expandChildren","expandSegment","childOutlets","sortedRoutes","expandedChild","last$1","expandSegmentAgainstRoute","matchSegmentAgainstRoute","expandSegmentAgainstRouteUsingRedirect","expandWildCardWithParamsAgainstRouteUsingRedirect","expandRegularSegmentAgainstRouteUsingRedirect","applyRedirectCommands","lineralizeSegments","newSegments","rawSegmentGroup","_loadedRoutes","cfg","getChildConfig","routerConfig","childInjector","childConfig","splitSegmentGroup","matchedOnOutlet","shouldLoadResult","canLoadFails","applyRedirectCreateUrlTree","createSegmentGroup","createQueryParams","redirectToParams","actualParams","updatedSegments","createSegments","redirectToSegments","actualSegments","findPosParam","findOrReturn","redirectToUrlSegment","applyRedirects","applyRedirects$1","extractedUrl","NoMatch","recognize$1","rootComponentType","Recognizer","recognize","newObservableError","processSegmentGroup","routeState","inheritParamsAndData","routeNode","processSegment","outletChildren","mergedChildren","mergeEmptyPathMatches","sortActivatedRouteSnapshots","localeCompare","processSegmentAgainstRoute","matchResult","pathIndexShift","getPathIndexShift","_loadedComponent","getSourceSegmentGroup","getResolve","hasEmptyPathConfig","mergedNodes","duplicateEmptyPathNode","resultNode","mergedNode","resolveData","canActivateChecksResolved","runResolve","hasStaticTitle","resolveNode","getDataKeys","getOwnPropertySymbols","getResolver","resolvedData","switchTap","nextResult","TitleStrategy","buildTitle","pageTitle","getResolvedTitleForRoute","DefaultTitleStrategy","updateTitle","RouteReuseStrategy","DefaultRouteReuseStrategy","BaseRouteReuseStrategy","detachedTree","ROUTER_CONFIGURATION","ROUTES","RouterConfigLoader","componentLoaders","childrenLoaders","onLoadStartListener","loadRunner","onLoadEndListener","loadModuleFactoryOrRoutes","factoryOrRoutes","rawRoutes","requireStandaloneComponents","NG_DEV_MODE$3","UrlHandlingStrategy","DefaultUrlHandlingStrategy","shouldProcessUrl","extract","newUrlPart","wholeUrl","NG_DEV_MODE$2","defaultMalformedUriErrorHandler","exactMatchOptions","subsetMatchOptions","setupRouter","defaultTitleStrategy","titleStrategy","urlHandlingStrategy","router","Router","assignExtraOptionsToRouter","malformedUriErrorHandler","onSameUrlNavigation","urlUpdateStrategy","canceledNavigationResolution","rootContexts","lastSuccessfulNavigation","currentNavigation","disposed","navigationId","currentPageId","isNgZoneEnabled","navigated","lastSuccessfulId","afterPreactivation","triggerEvent","resetConfig","currentUrlTree","createEmptyUrlTree","rawUrlTree","browserUrlTree","routerState","targetPageId","currentRawUrl","rawUrl","extras","currentRouterState","targetRouterState","navigations","setupNavigations","processNavigations","browserPageId","ɵrouterPageId","eventsSubject","overallTransitionState","initialUrl","previousNavigation","urlTransition","isBrowserTriggeredNavigation","serializeUrl","finalUrl","serializer","skipLocationChange","setBrowserUrl","routesRecognized","navStart","replaceUrl","guardsStart","guardsEnd","restoreHistory","cancelNavigationTransition","resolveStart","dataResolved","resolveEnd","loadComponents","loaders","loadedComponent","createRouterState","cancelationReason","navCancel","mergedTree","scheduleNavigation","navError","resetRootComponentType","setTransition","initialNavigation","setUpLocationChangeListener","navigateByUrl","locationSubscription","stateCopy","getCurrentNavigation","navigationExtras","relativeTo","queryParamsHandling","preserveFragment","removeEmptyProps","navigate","validateCommands","isActive","matchOptions","priorPromise","generateNgRouterState","restoringFromCaughtError","targetPagePosition","resetState","resetUrlToCurrentUrlTree","routerPageId","RouterLink","tabIndexAttribute","_preserveFragment","_skipLocationChange","_replaceUrl","onChanges","setTabIndexIfNotOnNativeEl","ɵcoerceToBoolean","newTabIndex","routerLink","onClick","RouterLinkWithHref","updateTargetUrlAndHref","button","RouterLinkActive","cdr","linkWithHref","routerLinkActiveOptions","isActiveChange","routerEventsSubscription","linksWithHrefs","subscribeToEachLinkOnChanges","linkInputChangesSubscription","allLinkChanges","isLinkActive","routerLinkActive","hasActiveLinks","ariaCurrentWhenActive","isActiveMatchOptions","isActiveCheckFn","PreloadingStrategy","PreloadAllModules","NoPreloading","RouterPreloader","preloadingStrategy","setUpPreloading","processRoutes","injectorForCurrentRoute","injectorForChildren","preloadConfig","loadedChildren$","recursiveLoadChildren$","loadComponent$","ROUTER_SCROLLER","RouterScroller","viewportScroller","lastSource","restoredId","scrollPositionRestoration","anchorScrolling","createScrollEvents","scrollEventsSubscription","consumeScrollEvents","scheduleScrollEvent","rootRoute","routerFeature","ɵkind","provideRoutes","getBootstrapListener","bootstrappedComponentRef","bootstrapDone","BOOTSTRAP_DONE","INITIAL_NAVIGATION","ROUTER_PRELOADER","withEnabledBlockingInitialNavigation","locationInitialized","initNavigation","afterNextNavigation","ROUTER_FORROOT_GUARD","ROUTER_PROVIDERS","routerNgProbeToken","RouterModule","provideForRootGuard","useHash","provideInitialNavigation","ROUTER_INITIALIZER","createEventBus","pdfJsViewer","destroy$","globalEventBus","attachDOMEventsToEventBus","createEvent","initCustomEvent","initEvent","attachmentsCount","outerContainer","switchInProgress","outlineCount","isSSR","RenderTextMode","PDFJS","DISABLED","ENABLED","ENHANCED","PdfViewerComponent","_cMapsUrl","_imageResourcesPath","_renderText","_renderTextMode","_stickToPage","_originalSize","_page","_zoom","_zoomScale","_rotation","_showAll","_canAutoResize","_fitToPage","_externalLinkTarget","_showBorders","resizeTimeout","pageScrollTimeout","isInitialized","afterLoadComplete","pageRendered","pageInitialized","textLayerRendered","pageChange","pdfWorkerSrc","pdfJsVersion","versionSpecificPdfWorkerUrl","cMapsUrl","originalPage","_pdf","getValidPageNumber","renderText","renderTextMode","originalSize","showAll","stickToPage","zoomScale","autoresize","Boolean","fitToPage","showBorders","PDFJSViewer","pdfViewerContainer","setupResizeListener","loadPDF","resetPdfDocument","setupViewer","_latestScrolledPage","viewportWidth","CSS_UNITS","viewPort","getScale","pdfLinkService","pdfFindController","getPDFLinkServiceConfig","linkTarget","getLinkTarget","initEventBus","initPDFServices","getPDFOptions","getDocumentParams","srcType","lastLoaded","progressData","pdf","viewportHeight","borderSize","BORDER_WIDTH","pdfContainerWidth","pdfContainerHeight","PdfViewerModule","adopt","verb","settle"],"sourceRoot":"webpack:///","sources":["./node_modules/pdfjs-dist/build/pdf.js","./node_modules/pdfjs-dist/web/pdf_viewer.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/observable/timer.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/skip.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/timeout.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isDate.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isObservable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/@babel/runtime/helpers/asyncToGenerator.js","./node_modules/@angular/animations/fesm2020/animations.mjs","./node_modules/@angular/cdk/fesm2020/a11y.mjs","./node_modules/@angular/cdk/fesm2020/bidi.mjs","./node_modules/@angular/cdk/fesm2020/coercion.mjs","./node_modules/@angular/cdk/fesm2020/collections.mjs","./node_modules/@angular/cdk/fesm2020/keycodes.mjs","./node_modules/@angular/cdk/fesm2020/layout.mjs","./node_modules/@angular/cdk/fesm2020/observers.mjs","./node_modules/@angular/cdk/fesm2020/overlay.mjs","./node_modules/@angular/cdk/fesm2020/platform.mjs","./node_modules/@angular/cdk/fesm2020/portal.mjs","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/@angular/cdk/fesm2020/scrolling.mjs","./node_modules/rxjs/dist/esm/internal/operators/pairwise.js","./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","./node_modules/@angular/common/fesm2020/common.mjs","./node_modules/@angular/common/fesm2020/http.mjs","./node_modules/@angular/core/fesm2020/core.mjs","./node_modules/@angular/material/fesm2020/button.mjs","./node_modules/@angular/cdk/fesm2020/cdk.mjs","./node_modules/@angular/material/fesm2020/core.mjs","./node_modules/@angular/material/fesm2020/dialog.mjs","./node_modules/@angular/material/fesm2020/snack-bar.mjs","./node_modules/@angular/animations/fesm2020/browser.mjs","./node_modules/@angular/platform-browser/fesm2020/animations.mjs","./node_modules/@angular/platform-browser/fesm2020/platform-browser.mjs","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/@angular/router/fesm2020/router.mjs","./node_modules/ng2-pdf-viewer/fesm2020/ng2-pdf-viewer.mjs","./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/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\"] = root.pdfjsLib = factory();\n})(this, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.UNSUPPORTED_FEATURES = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isAscii = isAscii;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF16BEString = stringToUTF16BEString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\n\n__w_pdfjs_require__(2);\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\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};\nexports.PermissionFlag = PermissionFlag;\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};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\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};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\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};\nexports.AnnotationFlag = AnnotationFlag;\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};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\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};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\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\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\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\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n\n}\n\nexports.PasswordException = PasswordException;\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n\n}\n\nexports.UnknownErrorException = UnknownErrorException;\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n\n}\n\nexports.InvalidPDFException = InvalidPDFException;\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n\n}\n\nexports.MissingPDFException = MissingPDFException;\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n\n}\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n\n}\n\nexports.FormatError = FormatError;\n\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n\n}\n\nexports.AbortException = AbortException;\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes === null || bytes.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n const strBuf = [];\n\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\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n\n const length = str.length;\n const bytes = new Uint8Array(length);\n\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\nfunction arraysToBytes(arr) {\n const length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n let resultLength = 0;\n\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n let pos = 0;\n const data = new Uint8Array(resultLength);\n\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n\n for (const [key, value] of map) {\n obj[key] = value;\n }\n\n return obj;\n}\n\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\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\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(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n\n}\n\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n static scaleMinMax(transform, minMax) {\n let temp;\n\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\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\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\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\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n\n 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 static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n\n static apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\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 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 return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n static normalizeRect(rect) {\n const r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n\n if (xLow > xHigh) {\n return null;\n }\n\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), 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 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\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\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n\n t = -c / b;\n\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n\n continue;\n }\n\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n\n if (b2ac < 0) {\n continue;\n }\n\n t1 = (-b + sqrtb2ac) / (2 * a);\n\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n\n t2 = (-b - sqrtb2ac) / (2 * a);\n\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\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + 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 return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n\n}\n\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n\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, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n\n const strBuf = [];\n\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\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(String.fromCharCode(char >> 8 & 0xff), String.fromCharCode(char & 0xff));\n }\n\n return buf.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 !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n 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\")];\n return buffer.join(\"\");\n}\n\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n }\n\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\n\nvar _is_node = __w_pdfjs_require__(3);\n\n;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.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;\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.version = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nvar _font_loader = __w_pdfjs_require__(7);\n\nvar _annotation_storage = __w_pdfjs_require__(8);\n\nvar _canvas = __w_pdfjs_require__(10);\n\nvar _worker_options = __w_pdfjs_require__(13);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _message_handler = __w_pdfjs_require__(14);\n\nvar _metadata = __w_pdfjs_require__(15);\n\nvar _optional_content_config = __w_pdfjs_require__(16);\n\nvar _transport_stream = __w_pdfjs_require__(17);\n\nvar _xfa_text = __w_pdfjs_require__(18);\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nlet DefaultCanvasFactory = _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nlet DefaultCMapReaderFactory = _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nlet DefaultStandardFontDataFactory = _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\n\nif (_is_node.isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory\n } = __w_pdfjs_require__(19);\n\n exports.DefaultCanvasFactory = DefaultCanvasFactory = NodeCanvasFactory;\n exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory = NodeCMapReaderFactory;\n exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\n\nlet createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n let source;\n\n if (typeof src === \"string\" || src instanceof URL) {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either string, URL, Uint8Array, or parameter object.\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n (0, _util.warn)(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString();\n continue;\n }\n\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n\n case \"range\":\n rangeTransport = value;\n continue;\n\n case \"worker\":\n worker = value;\n continue;\n\n case \"data\":\n if (_is_node.isNodeJS && typeof Buffer !== \"undefined\" && value instanceof Buffer) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break;\n } else if (typeof value === \"string\") {\n params[key] = (0, _util.stringToBytes)(value);\n } else if (typeof value === \"object\" && value !== null && !isNaN(value.length)) {\n params[key] = new Uint8Array(value);\n } else if ((0, _util.isArrayBuffer)(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string, or array-like object is expected in the data property.\");\n }\n\n continue;\n }\n\n params[key] = value;\n }\n\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) {\n params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE;\n }\n\n if (typeof params.docBaseUrl !== \"string\" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) {\n params.docBaseUrl = null;\n }\n\n if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.cMapUrl !== \"string\") {\n params.cMapUrl = null;\n }\n\n if (typeof params.standardFontDataUrl !== \"string\") {\n params.standardFontDataUrl = null;\n }\n\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _is_node.isNodeJS;\n }\n\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace;\n }\n\n if (typeof params.ownerDocument !== \"object\" || params.ownerDocument === null) {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\n\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename;\n }\n\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion: '2.14.305',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null\n });\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n}\n\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n this._transport = null;\n\n if (this._worker) {\n this._worker.destroy();\n\n this._worker = null;\n }\n }\n\n}\n\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\n\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\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 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 requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n\n}\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.fingerprint`, \" + \"please use `PDFDocumentProxy.fingerprints` instead.\");\n return this.fingerprints[0];\n }\n\n });\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.getStats`, \" + \"please use the `PDFDocumentProxy.stats`-getter instead.\");\n return this.stats || {\n streamTypes: {},\n fontTypes: {}\n };\n }\n });\n }\n\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n get stats() {\n return this._transport.stats;\n }\n\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n getOutline() {\n return this._transport.getOutline();\n }\n\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n getData() {\n return this._transport.getData();\n }\n\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n destroy() {\n return this.loadingTask.destroy();\n }\n\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n saveDocument() {\n if (this._transport.annotationStorage.size <= 0) {\n (0, _display_utils.deprecated)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n\n return this._transport.saveDocument();\n }\n\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n\n}\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._bitmaps = new Set();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n get ref() {\n return this._pageInfo.ref;\n }\n\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n get view() {\n return this._pageInfo.view;\n }\n\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n\n if (!promise) {\n promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n (0, _display_utils.deprecated)(\"`title`-property on annotation, please use `titleObj` instead.\");\n return annotation.titleObj.str;\n }\n\n });\n }\n\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n (0, _display_utils.deprecated)(\"`contents`-property on annotation, please use `contentsObj` instead.\");\n return annotation.contentsObj.str;\n }\n\n });\n }\n }\n\n return annotations;\n });\n }\n\n return promise;\n }\n\n getJSActions() {\n return this._jsActionsPromise ||= this._transport.getPageJSActions(this._pageIndex);\n }\n\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null\n }) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `renderInteractiveForms`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_FORMS;\n }\n }\n\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `includeAnnotationStorage`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_STORAGE;\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode);\n\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n\n this._tryCleanup();\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 if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n\n getOperatorList({\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, true);\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n return intentState.opListReadCapability.promise;\n }\n\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n\n size(textContent) {\n return textContent.items.length;\n }\n\n });\n }\n\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\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 getStructTree() {\n return this._structTreePromise ||= this._transport.getStructTree(this._pageIndex);\n }\n\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n\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 continue;\n }\n\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n\n this.objs.clear();\n\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n\n this._bitmaps.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n\n this._bitmaps.clear();\n\n this.pendingCleanup = false;\n return true;\n }\n\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n _renderPageChunk(operatorListChunk, intentState) {\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\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n _pumpOperatorList({\n renderingIntent,\n cacheKey\n }) {\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: renderingIntent & _util.RenderingIntentFlag.ANNOTATIONS_STORAGE ? this._transport.annotationStorage.serializable : null\n });\n\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (this._transport.destroyed) {\n return;\n }\n\n this._renderPageChunk(value, intentState);\n\n pump();\n }, reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n\n break;\n }\n }\n\n this.cleanup();\n }\n\n get stats() {\n return this._stats;\n }\n\n}\n\nexports.PDFPageProxy = PDFPageProxy;\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data: structuredClone(obj, transfers)\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.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n\n}\n\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_is_node.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\nclass PDFWorker {\n static #workerPorts = new WeakMap();\n\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n if (port && PDFWorker.#workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker.#workerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n get promise() {\n return this._readyCapability.promise;\n }\n\n get port() {\n return this._port;\n }\n\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n\n _initialize() {\n if (typeof Worker !== \"undefined\" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n\n destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n PDFWorker.#workerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (this.#workerPorts.has(params.port)) {\n return this.#workerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\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 (ex) {\n return null;\n }\n }\n\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n\n}\n\nexports.PDFWorker = PDFWorker;\n{\n PDFWorker.getWorkerSrc = function () {\n (0, _display_utils.deprecated)(\"`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead.\");\n return this.workerSrc;\n };\n}\n\nclass WorkerTransport {\n #docStats = null;\n #pageCache = new Map();\n #pagePromises = new Map();\n #metadataPromise = null;\n\n constructor(messageHandler, loadingTask, networkStream, params) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n\n if (!params.useWorkerFetch) {\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.StandardFontDataFactory = new params.StandardFontDataFactory({\n baseUrl: params.standardFontDataUrl\n });\n }\n\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n\n get stats() {\n return this.#docStats;\n }\n\n getRenderingIntent(intent, annotationMode = _util.AnnotationMode.ENABLE, isOpList = false) {\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationHash = \"\";\n\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n\n case \"display\":\n break;\n\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n\n case _util.AnnotationMode.ENABLE:\n break;\n\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n annotationHash = this.annotationStorage.hash;\n break;\n\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${annotationHash}`\n };\n }\n\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n const waitOn = [];\n\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n\n this.#pageCache.clear();\n this.#pagePromises.clear();\n\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#metadataPromise = null;\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = (0, _util.createPromiseCapability)();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n\n fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this._passwordCapability.reject(password);\n } else {\n this._passwordCapability.resolve({\n password\n });\n }\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n\n const page = this.#pageCache.get(data.pageIndex);\n\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return;\n }\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n const params = this._params;\n\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n let fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector?.enabled) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n\n };\n }\n\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n this.commonObjs.resolve(id, font);\n });\n break;\n\n case \"FontPath\":\n case \"Image\":\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n\n const pageProxy = this.#pageCache.get(pageIndex);\n\n if (pageProxy.objs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData) {\n let length;\n\n if (imageData.bitmap) {\n const {\n bitmap,\n width,\n height\n } = imageData;\n length = width * height * 4;\n\n pageProxy._bitmaps.add(bitmap);\n } else {\n length = imageData.data?.length || 0;\n }\n\n if (length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n }\n\n break;\n\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"DocStats\", data => {\n if (this.destroyed) {\n return;\n }\n\n this.#docStats = Object.freeze({\n streamTypes: Object.freeze(data.streamTypes),\n fontTypes: Object.freeze(data.fontTypes)\n });\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!this.CMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return this.CMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!this.StandardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return this.StandardFontDataFactory.fetch(data);\n });\n }\n\n _onUnsupportedFeature({\n featureId\n }) {\n if (this.destroyed) {\n return;\n }\n\n this.loadingTask.onUnsupportedFeature?.(featureId);\n }\n\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n\n if (cachedPromise) {\n return cachedPromise;\n }\n\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.ownerDocument, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n\n saveDocument() {\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: this.annotationStorage.serializable,\n filename: this._fullReader?.filename ?? null\n }).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n\n getFieldObjects() {\n return this._getFieldObjectsPromise ||= this.messageHandler.sendWithPromise(\"GetFieldObjects\", null);\n }\n\n hasJSActions() {\n return this._hasJSActionsPromise ||= this.messageHandler.sendWithPromise(\"HasJSActions\", null);\n }\n\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n\n getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n\n getMetadata() {\n return this.#metadataPromise ||= this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n };\n });\n }\n\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n\n async startCleanup(keepLoadedFonts = false) {\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n\n if (this.destroyed) {\n return;\n }\n\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n\n this.commonObjs.clear();\n\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n\n this.#metadataPromise = null;\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n }\n\n get loadingParams() {\n const params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n enableXfa: params.enableXfa\n });\n }\n\n}\n\nclass PDFObjects {\n #objs = Object.create(null);\n\n #ensureObj(objId) {\n const obj = this.#objs[objId];\n\n if (obj) {\n return obj;\n }\n\n return this.#objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null\n };\n }\n\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n\n const obj = this.#objs[objId];\n\n if (!obj?.capability.settled) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n\n return obj.data;\n }\n\n has(objId) {\n const obj = this.#objs[objId];\n return obj?.capability.settled || false;\n }\n\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.capability.resolve();\n }\n\n clear() {\n this.#objs = Object.create(null);\n }\n\n}\n\nclass RenderTask {\n constructor(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n get promise() {\n return this._internalRenderTask.capability.promise;\n }\n\n cancel() {\n this._internalRenderTask.cancel();\n }\n\n}\n\nexports.RenderTask = RenderTask;\n\nclass InternalRenderTask {\n static #canvasInUse = new WeakSet();\n\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n\n cancel(error = null) {\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, \"canvas\"));\n }\n\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n\n _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n\n async _next() {\n if (this.cancelled) {\n return;\n }\n\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n }\n\n}\n\nconst version = '2.14.305';\nexports.version = version;\nconst build = 'eaaa8b4ad';\nexports.build = build;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0;\nexports.deprecated = deprecated;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\n\nvar _base_factory = __w_pdfjs_require__(6);\n\nvar _util = __w_pdfjs_require__(1);\n\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\n\nexports.PixelsPerInch = PixelsPerInch;\n\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this._document = ownerDocument;\n }\n\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n}\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nasync function fetchData(url, asTypedArray = false) {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n let data;\n\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (data) {\n resolve(data);\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n}\n\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n\n}\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n\n}\n\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\n\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n\n}\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n\n if (rotation < 0) {\n rotation += 360;\n }\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n\n}\n\nexports.PageViewport = PageViewport;\n\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, type) {\n super(msg, \"RenderingCancelledException\");\n this.type = type;\n }\n\n}\n\nexports.RenderingCancelledException = RenderingCancelledException;\n\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\n\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n\n toString() {\n const outBuf = [];\n let longest = 0;\n\n for (const time of this.times) {\n const name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n\n return outBuf.join(\"\");\n }\n\n}\n\nexports.StatTimer = StatTimer;\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n\n resolve(evt);\n };\n\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n const matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n\n}\n\nexports.PDFDateString = PDFDateString;\n\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n const canvas = this._createCanvas(width, height);\n\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n\n}\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = false\n }) {\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n\n}\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n\n this.baseUrl = baseUrl;\n }\n\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n\n}\n\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\n\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n\n const svg = this._createSVG(\"svg:svg\");\n\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n\n return this._createSVG(type);\n }\n\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n\n}\n\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseFontLoader {\n constructor({\n docId,\n onUnsupportedFeature,\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n\n this._document.fonts.add(nativeFontFace);\n }\n\n insertRule(rule) {\n let styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n\n this._document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n\n font.attached = true;\n\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n\n return;\n }\n\n const rule = font.createFontFaceRule();\n\n if (rule) {\n this.insertRule(rule);\n\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n\n this._prepareFontLoadEvent([rule], [font], request);\n });\n }\n }\n\n _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n\n get isSyncFontLoadingSupported() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n\n get _loadTestFont() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n\n}\n\nlet FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(params) {\n super(params);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n this.loadTestFontId = 0;\n }\n\n get isSyncFontLoadingSupported() {\n let supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m?.[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n const context = this.loadingContext;\n const request = {\n id: `pdfjs-font-loading-${context.nextRequestId++}`,\n done: false,\n complete: completeRequest,\n callback\n };\n context.requests.push(request);\n return request;\n }\n\n get _loadTestFont() {\n const getLoadTestFont = function () {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n\n _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n let i, ii;\n\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const names = [];\n\n for (const font of fonts) {\n names.push(font.loadedName);\n }\n\n names.push(loadTestFontId);\n\n const div = this._document.createElement(\"div\");\n\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (const name of names) {\n const span = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.appendChild(span);\n }\n\n this._document.body.appendChild(div);\n\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n\n };\n}\n\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature,\n fontRegistry = null\n }) {\n this.compiledGlyphs = Object.create(null);\n\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n let nativeFontFace;\n\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n let cmds;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const jsBuf = [];\n\n for (const current of cmds) {\n const args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n\n}\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationStorage = void 0;\n\nvar _murmurhash = __w_pdfjs_require__(9);\n\nvar _util = __w_pdfjs_require__(1);\n\nclass AnnotationStorage {\n constructor() {\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n getValue(key, defaultValue) {\n const value = this._storage.get(key);\n\n if (value === undefined) {\n return defaultValue;\n }\n\n return Object.assign(defaultValue, value);\n }\n\n getRawValue(key) {\n return this._storage.get(key);\n }\n\n setValue(key, value) {\n const obj = this._storage.get(key);\n\n let modified = false;\n\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n\n this._storage.set(key, value);\n }\n\n if (modified) {\n this._setModified();\n }\n }\n\n getAll() {\n return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null;\n }\n\n get size() {\n return this._storage.size;\n }\n\n _setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n\n resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n\n get serializable() {\n return this._storage.size > 0 ? this._storage : null;\n }\n\n get hash() {\n const hash = new _murmurhash.MurmurHash3_64();\n\n for (const [key, value] of this._storage) {\n hash.update(`${key}:${JSON.stringify(value)}`);\n }\n\n return hash.hexdigest();\n }\n\n}\n\nexports.AnnotationStorage = AnnotationStorage;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\n\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n update(input) {\n let data, length;\n\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n const hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n }\n\n}\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(11);\n\nvar _image_utils = __w_pdfjs_require__(12);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst COMPILE_TYPE3_GLYPHS = true;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nconst LINEWIDTH_SCALE_FACTOR = 1.000001;\n\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n\n ctx.save = function ctxSave() {\n destCtx.save();\n\n this.__originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n\n this.__originalRestore();\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n\n this.__originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n\n this.__originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n\n this.__originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n\n this.__originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n\n this.__originalRotate(angle);\n };\n\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n\n this.__originalClip(rule);\n };\n\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n\n this.__originalMoveTo(x, y);\n };\n\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n\n this.__originalLineTo(x, y);\n };\n\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n\n this.__originalRect(x, y, width, height);\n };\n\n ctx.closePath = function () {\n destCtx.closePath();\n\n this.__originalClosePath();\n };\n\n ctx.beginPath = function () {\n destCtx.beginPath();\n\n this.__originalBeginPath();\n };\n}\n\nfunction addContextCurrentTransform(ctx) {\n if (ctx._transformStack) {\n ctx._transformStack = [];\n }\n\n if (ctx.mozCurrentTransform) {\n return;\n }\n\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._originalResetTransform = ctx.resetTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n\n try {\n const desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), \"lineWidth\");\n ctx._setLineWidth = desc.set;\n ctx._getLineWidth = desc.get;\n Object.defineProperty(ctx, \"lineWidth\", {\n set: function setLineWidth(width) {\n this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR);\n },\n get: function getLineWidth() {\n return this._getLineWidth();\n }\n });\n } catch (_) {}\n\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n const [a, b, c, d, e, f] = this._transformMatrix;\n const ad_bc = a * d - b * c;\n const bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n const old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n if (this._transformStack.length === 0) {\n (0, _util.warn)(\"Tried to restore a ctx when the stack was already empty.\");\n }\n\n const prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n const m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n const m = this._transformMatrix;\n m[0] *= x;\n m[1] *= x;\n m[2] *= y;\n m[3] *= y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n const m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n this._transformMatrix = [1, 0, 0, 1, 0, 0];\n\n ctx._originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n const cosValue = Math.cos(angle);\n const sinValue = Math.sin(angle);\n const m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n}\n\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n getCanvas(id, width, height, trackTransform) {\n let canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n }\n\n delete(id) {\n delete this.cache[id];\n }\n\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n\n}\n\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = ctx.mozCurrentTransform;\n\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\n\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n\n if (!COMPILE_TYPE3_GLYPHS || width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n\n for (const elem of imgData.data) {\n let mask = 128;\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n let count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n let path, outlines, coords;\n\n if (!_is_node.isNodeJS) {\n path = new Path2D();\n } else {\n outlines = [];\n }\n\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n if (path) {\n path.moveTo(p % width1, i);\n } else {\n coords = [p % width1, i];\n }\n\n const p0 = p;\n let type = points[p];\n\n do {\n const step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n const pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n if (path) {\n path.lineTo(p % width1, p / width1 | 0);\n } else {\n coords.push(p % width1, p / width1 | 0);\n }\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n if (!path) {\n outlines.push(coords);\n }\n\n --i;\n }\n\n data = null;\n points = null;\n\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n\n if (path) {\n c.fill(path);\n } else {\n c.beginPath();\n\n for (const o of outlines) {\n c.moveTo(o[0], o[1]);\n\n for (let l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n }\n\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = null;\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n\n this.updateRectMinMax(transform, box);\n }\n\n getPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n\n return box;\n }\n\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n\n isEmptyClip() {\n return this.minX === Infinity;\n }\n\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n\n getClippedPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n\n}\n\nfunction putBinaryImageData(ctx, imgData, transferMaps = null) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n let transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n let white = 0xffffffff;\n let black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n [white, black] = [black, white];\n }\n }\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n if (hasTransferMaps) {\n for (let k = 0; k < destPos; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\n\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.applyMaskImageData)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\n\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (let i = 0, ii = properties.length; i < ii; i++) {\n const property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\n\nfunction resetCtxToDefault(ctx, foregroundColor) {\n ctx.strokeStyle = ctx.fillStyle = foregroundColor || \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n}\n\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\n\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\n\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\n\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n let composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\n\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\n\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n\n return false;\n}\n\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\n\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.backgroundColor = pageColors?.background || null;\n this.foregroundColor = pageColors?.foreground || null;\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n\n return fallback;\n }\n\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const defaultBackgroundColor = background || \"#ffffff\";\n this.ctx.save();\n\n if (this.foregroundColor && this.backgroundColor) {\n this.ctx.fillStyle = this.foregroundColor;\n const fg = this.foregroundColor = this.ctx.fillStyle;\n this.ctx.fillStyle = this.backgroundColor;\n const bg = this.backgroundColor = this.ctx.fillStyle;\n let isValidDefaultBg = true;\n let defaultBg = defaultBackgroundColor;\n this.ctx.fillStyle = defaultBackgroundColor;\n defaultBg = this.ctx.fillStyle;\n isValidDefaultBg = typeof defaultBg === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(defaultBg);\n\n if (fg === \"#000000\" && bg === \"#ffffff\" || fg === bg || !isValidDefaultBg) {\n this.foregroundColor = this.backgroundColor = null;\n } else {\n const cB = parseInt(defaultBg.slice(1), 16);\n const rB = (cB && 0xff0000) >> 16;\n const gB = (cB && 0x00ff00) >> 8;\n const bB = cB && 0x0000ff;\n\n const newComp = x => {\n x /= 255;\n return x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n };\n\n const lumB = Math.round(0.2126 * newComp(rB) + 0.7152 * newComp(gB) + 0.0722 * newComp(bB));\n\n this.selectColor = (r, g, b) => {\n const lumC = 0.2126 * newComp(r) + 0.7152 * newComp(g) + 0.0722 * newComp(b);\n return Math.round(lumC) === lumB ? bg : fg;\n };\n }\n }\n\n this.ctx.fillStyle = this.backgroundColor || defaultBackgroundColor;\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx, this.foregroundColor);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n }\n\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n }\n\n endDrawing() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n\n cache.clear();\n }\n\n this._cachedBitmapsMap.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n }\n\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight, false);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = ctx.mozCurrentTransform;\n let cache, cacheKey, scaled, maskCanvas;\n\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n const withoutTranslation = currentTransform.slice(0, 4);\n cacheKey = JSON.stringify(isPatternFill ? withoutTranslation : [withoutTranslation, fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n\n if (!cache) {\n cache = new Map();\n\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n\n const cachedImage = cache.get(cacheKey);\n\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n\n scaled = cachedImage;\n }\n\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height, false);\n putBinaryImageMask(maskCanvas.context, img);\n }\n\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight, true);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform.apply(fillCtx, maskToCanvas);\n\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, fillCtx.mozCurrentTransformInverse);\n scaled = scaled.img;\n\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(fillCtx.mozCurrentTransform, img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n\n const inverse = _util.Util.transform(fillCtx.mozCurrentTransformInverse, [1, 0, 0, 1, -offsetX, -offsetY]);\n\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking = null;\n }\n\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (let i = 0, ii = states.length; i < ii; i++) {\n const state = states[i];\n const key = state[0];\n const value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n }\n\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.suspendedCtx.mozCurrentTransform);\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n\n this.ctx._removeMirroring();\n\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = ctx.mozCurrentTransform;\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n\n ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n\n break;\n\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n\n current.setCurrentPoint(x, y);\n }\n\n closePath() {\n this.ctx.closePath();\n }\n\n stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n\n const intersect = this.current.getClippedPathBoundingBox();\n\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n\n endPath() {\n this.consumePath();\n }\n\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n const name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n const typeface = `\"${name}\", ${fontObj.fallbackName}`;\n let browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10, false);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n let patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n let x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n this.compose();\n return undefined;\n }\n\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n }\n\n setCharWidth(xWidth, yWidth) {}\n\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n\n getColorN_Pattern(IR) {\n let pattern;\n\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n\n return pattern;\n }\n\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n\n setStrokeRGBColor(r, g, b) {\n const color = this.selectColor?.(r, g, b) || _util.Util.makeHexColor(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n\n setFillRGBColor(r, g, b) {\n const color = this.selectColor?.(r, g, b) || _util.Util.makeHexColor(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n\n _getPattern(objId, matrix = null) {\n let pattern;\n\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n\n if (matrix) {\n pattern.matrix = matrix;\n }\n\n return pattern;\n }\n\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n this.save();\n\n const pattern = this._getPattern(objId);\n\n ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.SHADING);\n const inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n const canvas = ctx.canvas;\n const width = canvas.width;\n const height = canvas.height;\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax(this.ctx.mozCurrentTransform, bbox);\n this.clip();\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n\n const currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n const currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = this.ctx.mozCurrentTransform;\n this.restore();\n this.ctx.save();\n this.ctx.setTransform.apply(this.ctx, currentMtx);\n\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n\n beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n }\n\n endAnnotations() {\n this.restore();\n }\n\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.save();\n\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale(this.ctx.mozCurrentTransform);\n\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n const viewportScaleFactorStr = `var(--zoom-factor) * ${_display_utils.PixelsPerInch.PDF_TO_CSS_UNITS}`;\n canvas.style.width = `calc(${width}px * ${viewportScaleFactorStr})`;\n canvas.style.height = `calc(${height}px * ${viewportScaleFactorStr})`;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n addContextCurrentTransform(this.ctx);\n resetCtxToDefault(this.ctx, this.foregroundColor);\n } else {\n resetCtxToDefault(this.ctx, this.foregroundColor);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n }\n\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n\n this.restore();\n }\n\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n\n const mask = this._createMaskCanvas(img);\n\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = ctx.mozCurrentTransform;\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n\n const mask = this._createMaskCanvas(img);\n\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n\n ctx.drawImage(mask.canvas, x, y);\n }\n\n ctx.restore();\n this.compose();\n }\n\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n\n for (let i = 0, ii = images.length; i < ii; i++) {\n const image = images[i];\n const width = image.width,\n height = image.height;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height, false);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n\n this.compose();\n }\n\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n const imgData = this.getObject(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n const imgData = this.getObject(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height, false);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n\n const scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse);\n\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled(ctx.mozCurrentTransform, imgData.interpolate);\n const [rWidth, rHeight] = drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n const position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: rWidth,\n height: rHeight\n });\n }\n\n this.compose();\n this.restore();\n }\n\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h, false);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n\n for (let i = 0, ii = map.length; i < ii; i++) {\n const entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n const position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n\n this.compose();\n }\n\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n\n markPoint(tag) {}\n\n markPointProps(tag, properties) {}\n\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n }\n\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n\n beginCompat() {}\n\n endCompat() {}\n\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n\n const ctx = this.ctx;\n\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n\n this.pendingClip = null;\n }\n\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = this.ctx.mozCurrentTransform;\n\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n\n return this._cachedGetSinglePixelWidth;\n }\n\n getScaleForStroking() {\n if (!this._cachedScaleForStroking) {\n const {\n lineWidth\n } = this.current;\n const m = this.ctx.mozCurrentTransform;\n let scaleX, scaleY;\n\n if (m[1] === 0 && m[2] === 0) {\n const normX = Math.abs(m[0]);\n const normY = Math.abs(m[3]);\n\n if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[1]);\n const normY = Math.hypot(m[2], m[3]);\n\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n\n this._cachedScaleForStroking = [scaleX, scaleY];\n }\n\n return this._cachedScaleForStroking;\n }\n\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n\n let savedMatrix, savedDashes, savedDashOffset;\n\n if (saveRestore) {\n savedMatrix = ctx.mozCurrentTransform.slice();\n savedDashes = ctx.getLineDash().slice();\n savedDashOffset = ctx.lineDashOffset;\n }\n\n ctx.scale(scaleX, scaleY);\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(ctx.getLineDash().map(x => x / scale));\n ctx.lineDashOffset /= scale;\n ctx.stroke();\n\n if (saveRestore) {\n ctx.setTransform(...savedMatrix);\n ctx.setLineDash(savedDashes);\n ctx.lineDashOffset = savedDashOffset;\n }\n }\n\n getCanvasPosition(x, y) {\n const transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\n }\n\n}\n\nexports.CanvasGraphics = CanvasGraphics;\n\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || _is_node.isNodeJS) {\n return;\n }\n\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n\n}\n\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n\n _createGradient(ctx) {\n let grad;\n\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n\n return grad;\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, ctx.mozCurrentTransform) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform.apply(tmpCtx, owner.baseTransform);\n\n if (this.matrix) {\n tmpCtx.transform.apply(tmpCtx, this.matrix);\n }\n\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(`RadialAxialShadingPattern.getPattern: \"${ex?.message}\".`);\n }\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n\n return pattern;\n }\n\n}\n\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n\n if (y < y1) {\n k = 0;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n let k;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\n\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n}\n\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n const bytes = data.data;\n\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n\n if (pathType !== PathType.SHADING) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (this.matrix) {\n ctx.transform.apply(ctx, this.matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n\n}\n\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n\n}\n\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\n\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\n\nclass TilingPattern {\n static get MAX_PATTERN_SIZE() {\n return (0, _util.shadow)(this, \"MAX_PATTERN_SIZE\", 3000);\n }\n\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice();\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale,\n size\n };\n }\n\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax(graphics.ctx.mozCurrentTransform, [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(`TilingPattern.getPattern: \"${ex?.message}\".`);\n }\n\n return pattern;\n }\n\n}\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.applyMaskImageData = applyMaskImageData;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction applyMaskImageData({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height,\n inverseDecode = false\n}) {\n const opaque = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = !inverseDecode ? [opaque, 0] : [0, opaque];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n\n if (widthRemainder === 0) {\n continue;\n }\n\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n\n return {\n srcPos,\n destPos\n };\n}\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = event => {\n const data = event.data;\n\n if (data.targetName !== this.sourceName) {\n return;\n }\n\n if (data.stream) {\n this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n\n delete this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n const action = this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n const ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n\n ah[actionName] = handler;\n }\n\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n\n _createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n\n _processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull && streamSink.onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.isClosed = true;\n streamController.controller.close();\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n\n new Promise(function (resolve) {\n resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n async _deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]);\n delete this.streamControllers[streamId];\n }\n\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n\n}\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass Metadata {\n #metadataMap;\n #data;\n\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n\n getRaw() {\n return this.#data;\n }\n\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n\n getAll() {\n return (0, _util.objectFromMap)(this.#metadataMap);\n }\n\n has(name) {\n return this.#metadataMap.has(name);\n }\n\n}\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass OptionalContentGroup {\n constructor(name, intent) {\n this.visible = true;\n this.name = name;\n this.intent = intent;\n }\n\n}\n\nclass OptionalContentConfig {\n constructor(data) {\n this.name = null;\n this.creator = null;\n this._order = null;\n this._groups = new Map();\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n this._order = data.order;\n\n for (const group of data.groups) {\n this._groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n\n if (data.baseState === \"OFF\") {\n for (const group of this._groups) {\n group.visible = false;\n }\n }\n\n for (const on of data.on) {\n this._groups.get(on).visible = true;\n }\n\n for (const off of data.off) {\n this._groups.get(off).visible = false;\n }\n }\n\n _evaluateVisibilityExpression(array) {\n const length = array.length;\n\n if (length < 2) {\n return true;\n }\n\n const operator = array[0];\n\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n\n if (Array.isArray(element)) {\n state = this._evaluateVisibilityExpression(element);\n } else if (this._groups.has(element)) {\n state = this._groups.get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n\n break;\n\n case \"Or\":\n if (state) {\n return true;\n }\n\n break;\n\n case \"Not\":\n return !state;\n\n default:\n return true;\n }\n }\n\n return operator === \"And\";\n }\n\n isVisible(group) {\n if (this._groups.size === 0) {\n return true;\n }\n\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n\n return this._groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this._evaluateVisibilityExpression(group.expression);\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (!this._groups.get(id).visible) {\n return false;\n }\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (!this._groups.get(id).visible) {\n return true;\n }\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return false;\n }\n }\n\n return true;\n }\n\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n\n setVisibility(id, visible = true) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n\n this._groups.get(id).visible = !!visible;\n }\n\n getOrder() {\n if (!this._groups.size) {\n return null;\n }\n\n if (this._order) {\n return this._order.slice();\n }\n\n return Array.from(this._groups.keys());\n }\n\n getGroups() {\n return this._groups.size > 0 ? (0, _util.objectFromMap)(this._groups) : null;\n }\n\n getGroup(id) {\n return this._groups.get(id) || null;\n }\n\n}\n\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nclass PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n this._contentDispositionFilename = params.contentDispositionFilename || null;\n const initialData = params.initialData;\n\n if (initialData?.length > 0) {\n const buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n _onProgress(evt) {\n if (evt.total === undefined) {\n const firstReader = this._rangeReaders[0];\n\n if (firstReader?.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n const fullReader = this._fullRequestReader;\n\n if (fullReader?.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n\n this._pdfDataRangeTransport.abort();\n }\n\n}\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n\n get contentLength() {\n return this._stream._contentLength;\n }\n\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n\n}\n\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n this._stream._removeRangeReader(this);\n }\n\n}\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\n\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n\n function walk(node) {\n if (!node) {\n return;\n }\n\n let str = null;\n const name = node.name;\n\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n\n if (str !== null) {\n items.push({\n str\n });\n }\n\n if (!node.children) {\n return;\n }\n\n for (const child of node.children) {\n walk(child);\n }\n }\n\n walk(xfa);\n return output;\n }\n\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n\n}\n\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\n\nvar _base_factory = __w_pdfjs_require__(6);\n\n;\n\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve(new Uint8Array(data));\n });\n });\n};\n\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n\n return Canvas.createCanvas(width, height);\n }\n\n}\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n\n}\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n\n}\n\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nvar _annotation_storage = __w_pdfjs_require__(8);\n\nvar _scripting_utils = __w_pdfjs_require__(21);\n\nvar _xfa_layer = __w_pdfjs_require__(22);\n\nconst DEFAULT_TAB_INDEX = 1000;\nconst GetElementsByNameSet = new WeakSet();\n\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\n\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n\n}\n\nclass AnnotationElement {\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this._mouseState = parameters.mouseState;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);\n }\n }\n\n _createContainer(ignoreBorder = false) {\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n let {\n width,\n height\n } = getRectDims(data.rect);\n container.setAttribute(\"data-annotation-id\", data.id);\n\n 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]]);\n\n if (data.hasOwnCanvas) {\n const transform = viewport.transform.slice();\n\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale(transform);\n\n width = Math.ceil(width * scaleX);\n height = Math.ceil(height * scaleY);\n rect[0] *= scaleX;\n rect[1] *= scaleY;\n\n for (let i = 0; i < 4; i++) {\n transform[i] = Math.sign(transform[i]);\n }\n\n container.style.transform = `matrix(${transform.join(\",\")})`;\n } else {\n container.style.transform = `matrix(${viewport.transform.join(\",\")})`;\n }\n\n container.style.transformOrigin = `${-rect[0]}px ${-rect[1]}px`;\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width -= 2 * data.borderStyle.width;\n height -= 2 * data.borderStyle.width;\n }\n\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `${horizontalRadius}px / ${verticalRadius}px`;\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n const borderColor = data.borderColor || data.color || null;\n\n if (borderColor) {\n container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = `${rect[0]}px`;\n container.style.top = `${rect[1]}px`;\n\n if (data.hasOwnCanvas) {\n container.style.width = container.style.height = \"auto\";\n } else {\n container.style.width = `${width}px`;\n container.style.height = `${height}px`;\n }\n\n return container;\n }\n\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1));\n };\n\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const hidden = event.detail.display % 2 === 1;\n event.target.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden,\n print: event.detail.display === 0 || event.detail.display === 3\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n print: event.detail.print\n });\n },\n hidden: event => {\n event.target.style.visibility = event.detail.hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden: event.detail.hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n if (event.detail.readonly) {\n event.target.setAttribute(\"readonly\", \"\");\n } else {\n event.target.removeAttribute(\"readonly\");\n }\n },\n required: event => {\n if (event.detail.required) {\n event.target.setAttribute(\"required\", \"\");\n } else {\n event.target.removeAttribute(\"required\");\n }\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n }\n });\n }\n\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n\n if (action) {\n action(jsEvent);\n }\n }\n }\n\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n\n if (!storedData) {\n return;\n }\n\n const commonActions = this._commonActions;\n\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n\n if (action) {\n action({\n detail,\n target: element\n });\n delete storedData[actionName];\n }\n }\n }\n\n _createQuadrilaterals(ignoreBorder = false) {\n if (!this.data.quadPoints) {\n return null;\n }\n\n const quadrilaterals = [];\n const savedRect = this.data.rect;\n\n for (const quadPoint of this.data.quadPoints) {\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n\n _createPopup(trigger, data) {\n let container = this.container;\n\n if (this.quadrilaterals) {\n trigger = trigger || this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n\n _renderQuadrilaterals(className) {\n for (const quadrilateral of this.quadrilaterals) {\n quadrilateral.className = className;\n }\n\n return this.quadrilaterals;\n }\n\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n\n _getElementsByName(name, skipId = null) {\n const fields = [];\n\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n\n if (id === skipId) {\n continue;\n }\n\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.getElementById(id);\n\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n\n return fields;\n }\n\n for (const domElement of document.getElementsByName(name)) {\n const {\n id,\n exportValue\n } = domElement;\n\n if (id === skipId) {\n continue;\n }\n\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n\n return fields;\n }\n\n static get platform() {\n const platform = typeof navigator !== \"undefined\" ? navigator.platform : \"\";\n return (0, _util.shadow)(this, \"platform\", {\n isWin: platform.includes(\"Win\"),\n isMac: platform.includes(\"Mac\")\n });\n }\n\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n const isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.resetForm || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions[\"Mouse Up\"] || parameters.data.actions[\"Mouse Down\"]));\n super(parameters, {\n isRenderable,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n }\n\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n } else {\n let hasClickAction = false;\n\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n hasClickAction = true;\n\n this._bindJSAction(link, data);\n }\n\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n } else if (!hasClickAction) {\n this._bindLink(link, \"\");\n }\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map((quadrilateral, index) => {\n const linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.appendChild(linkElement);\n return quadrilateral;\n });\n }\n\n this.container.className = \"linkAnnotation\";\n this.container.appendChild(link);\n return this.container;\n }\n\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n\n return false;\n };\n\n if (destination || destination === \"\") {\n link.className = \"internalLink\";\n }\n }\n\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n\n link.className = \"internalLink\";\n }\n\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n\n if (!jsName) {\n continue;\n }\n\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n\n if (!link.onclick) {\n link.onclick = () => false;\n }\n\n link.className = \"internalLink\";\n }\n\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n\n link.className = \"internalLink\";\n\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n\n return;\n }\n\n link.onclick = () => {\n if (otherClickAction) {\n otherClickAction();\n }\n\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n\n const storage = this.annotationStorage;\n const allIds = [];\n\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n\n default:\n continue;\n }\n\n const domElement = document.getElementById(id);\n\n if (!domElement || !GetElementsByNameSet.has(domElement)) {\n continue;\n }\n\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n\n return false;\n };\n }\n\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n\n render() {\n this.container.className = \"textAnnotation\";\n const image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n\n}\n\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n\n return this.container;\n }\n\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = AnnotationElement.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n\n _setEventListener(element, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n\n _setEventListeners(element, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n }\n\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n let element = null;\n\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const textContent = storedData.formattedValue || storedData.value || \"\";\n const elementData = {\n userValue: null,\n formattedValue: null,\n valueOnFocus: \"\"\n };\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n }\n\n GetElementsByNameSet.add(element);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n elementData.userValue = textContent;\n element.setAttribute(\"id\", id);\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n\n event.target.scrollLeft = 0;\n };\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n if (elementData.userValue) {\n event.target.value = elementData.userValue;\n }\n\n elementData.valueOnFocus = event.target.value;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n\n storage.setValue(id, {\n formattedValue\n });\n },\n\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n let commitKey = -1;\n\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\") {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n commitKey = 3;\n }\n\n if (commitKey === -1) {\n return;\n }\n\n const {\n value\n } = event.target;\n\n if (elementData.valueOnFocus === value) {\n return;\n }\n\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n const {\n value\n } = event.target;\n elementData.userValue = value;\n\n if (this._mouseState.isDown && elementData.valueOnFocus !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n\n _blurListener(event);\n });\n\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n\n if (match) {\n selStart -= match[0].length;\n }\n\n break;\n }\n\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n\n if (match) {\n selEnd += match[0].length;\n }\n\n break;\n }\n\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n\n break;\n\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n\n break;\n }\n\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n\n this._setTextStyle(element);\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontSize,\n fontColor\n } = this.data.defaultAppearanceData;\n const style = element.style;\n\n if (fontSize) {\n style.fontSize = `${fontSize}px`;\n }\n\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"id\", id);\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n 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);\n }\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n\n}\n\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.disabled = data.readOnly;\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"id\", id);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n 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);\n }\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n\n render() {\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n\n this._setDefaultPropertiesFromJS(container);\n\n return container;\n }\n\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let {\n fontSize\n } = this.data.defaultAppearanceData;\n\n if (!fontSize) {\n fontSize = 9;\n }\n\n const fontSizeStyle = `calc(${fontSize}px * var(--zoom-factor))`;\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n selectElement.setAttribute(\"id\", id);\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n selectElement.style.fontSize = `${fontSize}px`;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.combo) {\n optionElement.style.fontSize = fontSizeStyle;\n }\n\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n\n const getValue = (event, isExport) => {\n const name = isExport ? \"value\" : \"textContent\";\n const options = event.target.options;\n\n if (!event.target.multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n\n if (i === -1) {\n options[0].selected = true;\n }\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n storage.setValue(id, {\n value: null,\n items: []\n });\n },\n\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.insertBefore(optionElement, selectElement.children[index]);\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n items(event) {\n const {\n items\n } = event.detail;\n\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.appendChild(optionElement);\n }\n\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n indices(event) {\n const indices = new Set(event.detail.indices);\n\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(event, true);\n const value = getValue(event, false);\n storage.setValue(id, {\n value: exportValue\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n changeEx: exportValue,\n willCommit: true,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"]], event => event.target.checked);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(event, true)\n });\n });\n }\n\n this._setBackgroundColor(selectElement);\n\n this._setDefaultPropertiesFromJS(selectElement);\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n\n render() {\n const IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n const parentElements = this.layer.querySelectorAll(selector);\n\n if (parentElements.length === 0) {\n return this.container;\n }\n\n const popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText\n });\n const page = this.page;\n\n const rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n\n const popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n const popupTop = rect[1];\n this.container.style.transformOrigin = `${-popupLeft}px ${-popupTop}px`;\n this.container.style.left = `${popupLeft}px`;\n this.container.style.top = `${popupTop}px`;\n this.container.appendChild(popup.render());\n return this.container;\n }\n\n}\n\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.titleObj = parameters.titleObj;\n this.modificationDate = parameters.modificationDate;\n this.contentsObj = parameters.contentsObj;\n this.richText = parameters.richText;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.hidden = true;\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n const color = this.color;\n\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);\n }\n\n const title = document.createElement(\"h1\");\n title.dir = this.titleObj.dir;\n title.textContent = this.titleObj.str;\n popup.appendChild(title);\n\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.className = \"popupDate\";\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n if (this.richText?.str && (!this.contentsObj?.str || this.contentsObj.str === this.richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: this.richText.html,\n intent: \"richText\",\n div: popup\n });\n\n popup.lastChild.className = \"richText popupContent\";\n } else {\n const contents = this._formatContents(this.contentsObj);\n\n popup.appendChild(contents);\n }\n\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this._toggle.bind(this));\n element.addEventListener(\"mouseover\", this._show.bind(this, false));\n element.addEventListener(\"mouseout\", this._hide.bind(this, false));\n }\n\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.className = \"popupContent\";\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hidden) {\n this.hideElement.hidden = false;\n this.container.style.zIndex += 1;\n }\n }\n\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hidden && !this.pinned) {\n this.hideElement.hidden = true;\n this.container.style.zIndex -= 1;\n }\n }\n\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"lineAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(line, data);\n\n return this.container;\n }\n\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"squareAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(square, data);\n\n return this.container;\n }\n\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"circleAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(circle, data);\n\n return this.container;\n }\n\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n let points = [];\n\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(polyline, data);\n\n return this.container;\n }\n\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n\n for (const inkList of data.inkLists) {\n let points = [];\n\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n\n this._createPopup(polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n\n this.container.className = \"highlightAnnotation\";\n return this.container;\n }\n\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n\n this.container.className = \"underlineAnnotation\";\n return this.container;\n }\n\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n\n this.container.className = \"squigglyAnnotation\";\n return this.container;\n }\n\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n\n this.container.className = \"strikeoutAnnotation\";\n return this.container;\n }\n\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n this.content = content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n\n render() {\n this.container.className = \"fileAttachmentAnnotation\";\n const trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.titleObj?.str || this.data.contentsObj?.str || this.data.richText)) {\n this._createPopup(trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n\n _download() {\n this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);\n }\n\n}\n\nclass AnnotationLayer {\n static render(parameters) {\n const sortedAnnotations = [],\n popupAnnotations = [];\n\n for (const data of parameters.annotations) {\n if (!data) {\n continue;\n }\n\n const {\n width,\n height\n } = getRectDims(data.rect);\n\n if (width <= 0 || height <= 0) {\n continue;\n }\n\n if (data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(data);\n continue;\n }\n\n sortedAnnotations.push(data);\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push(...popupAnnotations);\n }\n\n const div = parameters.div;\n\n for (const data of sortedAnnotations) {\n const element = AnnotationElementFactory.create({\n data,\n layer: div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderForms: parameters.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: parameters.enableScripting,\n hasJSActions: parameters.hasJSActions,\n fieldObjects: parameters.fieldObjects,\n mouseState: parameters.mouseState || {\n isDown: false\n }\n });\n\n if (element.isRenderable) {\n const rendered = element.render();\n\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n\n if (Array.isArray(rendered)) {\n for (const renderedElement of rendered) {\n div.appendChild(renderedElement);\n }\n } else {\n if (element instanceof PopupAnnotationElement) {\n div.prepend(rendered);\n } else {\n div.appendChild(rendered);\n }\n }\n }\n }\n\n this.#setAnnotationCanvasMap(div, parameters.annotationCanvasMap);\n }\n\n static update(parameters) {\n const {\n page,\n viewport,\n annotations,\n annotationCanvasMap,\n div\n } = parameters;\n const transform = viewport.transform;\n const matrix = `matrix(${transform.join(\",\")})`;\n let scale, ownMatrix;\n\n for (const data of annotations) {\n const elements = div.querySelectorAll(`[data-annotation-id=\"${data.id}\"]`);\n\n if (elements) {\n for (const element of elements) {\n if (data.hasOwnCanvas) {\n 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]]);\n\n if (!ownMatrix) {\n scale = Math.abs(transform[0] || transform[1]);\n const ownTransform = transform.slice();\n\n for (let i = 0; i < 4; i++) {\n ownTransform[i] = Math.sign(ownTransform[i]);\n }\n\n ownMatrix = `matrix(${ownTransform.join(\",\")})`;\n }\n\n const left = rect[0] * scale;\n const top = rect[1] * scale;\n element.style.left = `${left}px`;\n element.style.top = `${top}px`;\n element.style.transformOrigin = `${-left}px ${-top}px`;\n element.style.transform = ownMatrix;\n } else {\n element.style.transform = matrix;\n }\n }\n }\n }\n\n this.#setAnnotationCanvasMap(div, annotationCanvasMap);\n div.hidden = false;\n }\n\n static #setAnnotationCanvasMap(div, annotationCanvasMap) {\n if (!annotationCanvasMap) {\n return;\n }\n\n for (const [id, canvas] of annotationCanvasMap) {\n const element = div.querySelector(`[data-annotation-id=\"${id}\"]`);\n\n if (!element) {\n continue;\n }\n\n const {\n firstChild\n } = element;\n\n if (firstChild.nodeName === \"CANVAS\") {\n element.replaceChild(canvas, firstChild);\n } else {\n element.insertBefore(canvas, firstChild);\n }\n }\n\n annotationCanvasMap.clear();\n }\n\n}\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\n\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\n\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n\n static RGB_HTML([r, g, b]) {\n const R = makeColorComp(r);\n const G = makeColorComp(g);\n const B = makeColorComp(b);\n return `#${R}${G}${B}`;\n }\n\n static T_HTML() {\n return \"#00000000\";\n }\n\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n\n static CMYK_HTML(components) {\n return this.RGB_HTML(this.CMYK_RGB(components));\n }\n\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n\n}\n\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\n\nvar _xfa_text = __w_pdfjs_require__(18);\n\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n\n break;\n\n case \"select\":\n if (storedData.value !== null) {\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n }\n }\n }\n\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined || key === \"dataId\") {\n continue;\n }\n\n if (key !== \"style\") {\n if (key === \"textContent\") {\n html.textContent = value;\n } else if (key === \"class\") {\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n } else {\n if (isHTMLAnchorElement && (key === \"href\" || key === \"newWindow\")) {\n continue;\n }\n\n html.setAttribute(key, value);\n }\n } else {\n Object.assign(html.style, value);\n }\n }\n\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.appendChild(rootHtml);\n\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n\n const textDivs = [];\n\n while (stack.length > 0) {\n const [parent, i, html] = stack[stack.length - 1];\n\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n\n const child = parent.children[++stack[stack.length - 1][1]];\n\n if (child === null) {\n continue;\n }\n\n const {\n name\n } = child;\n\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.appendChild(node);\n continue;\n }\n\n let childHtml;\n\n if (child?.attributes?.xmlns) {\n childHtml = document.createElementNS(child.attributes.xmlns, name);\n } else {\n childHtml = document.createElement(name);\n }\n\n html.appendChild(childHtml);\n\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n\n childHtml.appendChild(node);\n }\n }\n\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n\n return {\n textDivs\n };\n }\n\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n\n}\n\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.renderTextLayer = renderTextLayer;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nconst AllWhitespaceRegexp = /^\\s+$/g;\n\nfunction getAscent(fontFamily, ctx) {\n const cachedAscent = ascentCache.get(fontFamily);\n\n if (cachedAscent) {\n return cachedAscent;\n }\n\n ctx.save();\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n\n if (ascent) {\n ctx.restore();\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.restore();\n\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\n\nfunction appendText(task, geom, styles, ctx) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = task._enhanceTextSelection ? {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n } : {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL\n };\n\n task._textDivs.push(textDiv);\n\n const tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, ctx);\n let left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = `${left}px`;\n textDiv.style.top = `${top}px`;\n textDiv.style.fontSize = `${fontHeight}px`;\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n let shouldScaleText = false;\n\n if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection && textDivProperties.hasText) {\n let angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n const divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n const divHeight = fontHeight;\n let m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m\n });\n }\n}\n\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (let i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n}\n\nfunction findPositiveMin(ts, offset, count) {\n let result = 0;\n\n for (let i = 0; i < count; i++) {\n const t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n}\n\nfunction expand(task) {\n const bounds = task._bounds;\n const viewport = task._viewport;\n const expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (let i = 0; i < expanded.length; i++) {\n const div = bounds[i].div;\n\n const divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n const e = expanded[i],\n b = bounds[i];\n const m = b.m,\n c = m[0],\n s = m[1];\n const points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n const ts = new Float64Array(64);\n\n for (let j = 0, jj = points.length; j < jj; j++) {\n const t = _util.Util.applyTransform(points[j], m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n }\n\n const boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n}\n\nfunction expandBounds(width, height, boxes) {\n const bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n const expanded = new Array(boxes.length);\n\n for (const b of bounds) {\n const i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n }\n\n boxes.map(function (box, i) {\n const e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n\n for (const b of bounds) {\n const i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n }\n\n return expanded;\n}\n\nfunction expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n const fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n const horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n\n for (const boundary of bounds) {\n let i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n let j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n let horizonPart, affectedBoundary;\n let q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n let xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n const changedHorizon = [];\n let lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n const useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n let used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n }\n\n for (const horizonPart of horizon) {\n const affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n }\n}\n\nclass TextLayerRenderTask {\n constructor({\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection\n }) {\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise.finally(() => {\n if (!this._enhanceTextSelection) {\n this._textDivProperties = null;\n }\n\n if (this._layoutTextCtx) {\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n }).catch(() => {});\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n }\n\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n if (items[i].str === undefined) {\n if (items[i].type === \"beginMarkedContentProps\" || items[i].type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n\n this._container.classList.add(\"markedContent\");\n\n if (items[i].id !== null) {\n this._container.setAttribute(\"id\", `${items[i].id}`);\n }\n\n parent.appendChild(this._container);\n } else if (items[i].type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n\n continue;\n }\n\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache, this._layoutTextCtx);\n }\n }\n\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n\n let transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) {\n const {\n fontSize,\n fontFamily\n } = textDiv.style;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n const {\n width\n } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n if (width > 0) {\n const scale = textDivProperties.canvasWidth / width;\n\n if (this._enhanceTextSelection) {\n textDivProperties.scale = scale;\n }\n\n transform = `scaleX(${scale})`;\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n if (textDivProperties.hasText) {\n this._container.appendChild(textDiv);\n }\n\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n\n this._container.appendChild(br);\n }\n }\n\n _render(timeout = 0) {\n const capability = (0, _util.createPromiseCapability)();\n let styleCache = Object.create(null);\n\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.height = canvas.width = DEFAULT_FONT_SIZE;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n this._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\" parameters specified.');\n }\n\n capability.promise.then(() => {\n styleCache = null;\n\n if (!timeout) {\n render(this);\n } else {\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n }\n\n expandTextDivs(expandDivs = false) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n const transformBuf = [],\n paddingBuf = [];\n\n for (let i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n\n const divProps = this._textDivProperties.get(div);\n\n if (!divProps.hasText) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(`${divProps.paddingTop}px`);\n transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(`${divProps.paddingBottom}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n transformBuf.push(`translateX(${-divProps.paddingLeft / divProps.scale}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n\n}\n\nfunction renderTextLayer(renderParameters) {\n const task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n}\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nlet SVGGraphics = class {\n constructor() {\n (0, _util.unreachable)(\"Not implemented: SVGGraphics\");\n }\n\n};\nexports.SVGGraphics = SVGGraphics;\n{\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n const createObjectURL = function (data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n\n for (let i = 0; i < 256; i++) {\n let c = i;\n\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n let crc = -1;\n\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n let input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n 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]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n clone() {\n return Object.create(this);\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n }\n\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n\n return opTree;\n }\n\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n const s = value.toFixed(10);\n let i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n }\n\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class {\n constructor(commonObjs, objs, forceDataSchema = false) {\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n\n const svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n let textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n\n endText() {\n const current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return `url(#${tilingId})`;\n }\n\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n\n this.defs.appendChild(gradient);\n return `url(#${shadingId})`;\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n\n endPath() {\n const current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n\n clip(type) {\n this.pendingClip = type;\n }\n\n closePath() {\n const current = this.current;\n\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n\n fill() {\n const current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n\n stroke() {\n const current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n\n fillStroke() {\n this.stroke();\n this.fill();\n }\n\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n paintImageXObject(objId) {\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {}\n\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n\n };\n}\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(26);\n\n;\n\nconst fs = require(\"fs\");\n\nconst http = require(\"http\");\n\nconst https = require(\"https\");\n\nconst url = require(\"url\");\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFNodeStream = PDFNodeStream;\n\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._headersCapability.resolve();\n\n this._setReadableStream(response);\n\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n\n this._headersCapability.reject(reason);\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n this._httpHeaders[property] = value;\n }\n\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n\n this._setReadableStream(response);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._contentLength = stat.size;\n\n this._setReadableStream(fs.createReadStream(path));\n\n this._headersCapability.resolve();\n });\n }\n\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n\n}\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(27);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch (e) {}\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n const parts = [];\n\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(26);\n\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n const array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nclass NetworkManager {\n constructor(url, args = {}) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n\n requestFull(listeners) {\n return this.request(listeners);\n }\n\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n pendingRequest.onProgress?.(evt);\n }\n\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n const xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n\n const chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n\n}\n\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n this._headersReceivedCapability.reject(this._storedError);\n\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n\n}\n\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _close() {\n this.onClosed?.(this);\n }\n\n _onDone(data) {\n const chunk = data.chunk;\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n this._close();\n }\n\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n\n}\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(26);\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController?.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFFetchStream = PDFFetchStream;\n\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._reader = response.body.getReader();\n\n this._headersCapability.resolve();\n\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._readCapability.resolve();\n\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"LoopbackPort\", ({\n enumerable: true,\n get: function () {\n return _api.LoopbackPort;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _svg.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", ({\n enumerable: true,\n get: function () {\n return _util.UNSUPPORTED_FEATURES;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createPromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.createPromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(4);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(20);\n\nvar _worker_options = __w_pdfjs_require__(13);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _text_layer = __w_pdfjs_require__(23);\n\nvar _svg = __w_pdfjs_require__(24);\n\nvar _xfa_layer = __w_pdfjs_require__(22);\n\nconst pdfjsVersion = '2.14.305';\nconst pdfjsBuild = 'eaaa8b4ad';\n{\n if (_is_node.isNodeJS) {\n const {\n PDFNodeStream\n } = __w_pdfjs_require__(25);\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const {\n PDFNetworkStream\n } = __w_pdfjs_require__(28);\n\n const {\n PDFFetchStream\n } = __w_pdfjs_require__(29);\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n if ((0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(this, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DefaultXfaLayerFactory = exports.DefaultTextLayerFactory = exports.DefaultStructTreeLayerFactory = exports.DefaultAnnotationLayerFactory = void 0;\n\nvar _annotation_layer_builder = __w_pdfjs_require__(2);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nvar _pdf_link_service = __w_pdfjs_require__(5);\n\nvar _struct_tree_layer_builder = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _xfa_layer_builder = __w_pdfjs_require__(9);\n\nclass DefaultAnnotationLayerFactory {\n createAnnotationLayerBuilder(pageDiv, pdfPage, annotationStorage = null, imageResourcesPath = \"\", renderForms = true, l10n = _l10n_utils.NullL10n, enableScripting = false, hasJSActionsPromise = null, mouseState = null, fieldObjectsPromise = null, annotationCanvasMap = null) {\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n imageResourcesPath,\n renderForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n,\n annotationStorage,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n mouseState,\n annotationCanvasMap\n });\n }\n\n}\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\nclass DefaultStructTreeLayerFactory {\n createStructTreeLayerBuilder(pdfPage) {\n return new _struct_tree_layer_builder.StructTreeLayerBuilder({\n pdfPage\n });\n }\n\n}\n\nexports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory;\n\nclass DefaultTextLayerFactory {\n createTextLayerBuilder(textLayerDiv, pageIndex, viewport, enhanceTextSelection = false, eventBus, highlighter) {\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv,\n pageIndex,\n viewport,\n enhanceTextSelection,\n eventBus,\n highlighter\n });\n }\n\n}\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\nclass DefaultXfaLayerFactory {\n createXfaLayerBuilder(pageDiv, pdfPage, annotationStorage = null, xfaHtml = null) {\n return new _xfa_layer_builder.XfaLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage,\n linkService: new _pdf_link_service.SimpleLinkService(),\n xfaHtml\n });\n }\n\n}\n\nexports.DefaultXfaLayerFactory = DefaultXfaLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nclass AnnotationLayerBuilder {\n constructor({\n pageDiv,\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n l10n = _l10n_utils.NullL10n,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n mouseState = null,\n annotationCanvasMap = null\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise;\n this._fieldObjectsPromise = fieldObjectsPromise;\n this._mouseState = mouseState;\n this._annotationCanvasMap = annotationCanvasMap;\n this.div = null;\n this._cancelled = false;\n }\n\n async render(viewport, intent = \"display\") {\n const [annotations, hasJSActions = false, fieldObjects = null] = await Promise.all([this.pdfPage.getAnnotations({\n intent\n }), this._hasJSActionsPromise, this._fieldObjectsPromise]);\n\n if (this._cancelled || annotations.length === 0) {\n return;\n }\n\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n annotations,\n page: this.pdfPage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects,\n mouseState: this._mouseState,\n annotationCanvasMap: this._annotationCanvasMap\n };\n\n if (this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationLayer\";\n this.pageDiv.appendChild(this.div);\n parameters.div = this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n this.l10n.translate(this.div);\n }\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n\n this.div.hidden = true;\n }\n\n}\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\n/***/ }),\n/* 3 */\n/***/ ((module) => {\n\n\n\nlet pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NullL10n = void 0;\nexports.fixupLangCode = fixupLangCode;\nexports.getL10nFallback = getL10nFallback;\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string: \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n print_progress_percent: \"{{progress}}%\",\n \"toggle_sidebar.title\": \"Toggle Sidebar\",\n \"toggle_sidebar_notification2.title\": \"Toggle Sidebar (document contains outline/attachments/layers)\",\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n error_version_info: \"PDF.js v{{version}} (build: {{build}})\",\n error_message: \"Message: {{message}}\",\n error_stack: \"Stack: {{stack}}\",\n error_file: \"File: {{file}}\",\n error_line: \"Line: {{line}}\",\n rendering_error: \"An error occurred while rendering the page.\",\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n loading: \"Loading…\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n printing_not_supported: \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled: \"Web fonts are disabled: unable to use embedded PDF fonts.\"\n};\n\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\n\nconst PARTIAL_LANG_CODES = {\n en: \"en-US\",\n es: \"es-ES\",\n fy: \"fy-NL\",\n ga: \"ga-IE\",\n gu: \"gu-IN\",\n hi: \"hi-IN\",\n hy: \"hy-AM\",\n nb: \"nb-NO\",\n ne: \"ne-NP\",\n nn: \"nn-NO\",\n pa: \"pa-IN\",\n pt: \"pt-PT\",\n sv: \"sv-SE\",\n zh: \"zh-CN\"\n};\n\nfunction fixupLangCode(langCode) {\n return PARTIAL_LANG_CODES[langCode?.toLowerCase()] || langCode;\n}\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n\n async getDirection() {\n return \"ltr\";\n },\n\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n\n async translate(element) {}\n\n};\nexports.NullL10n = NullL10n;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction addLinkAttributes(link, {\n url,\n target,\n rel,\n enabled = true\n} = {}) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n\n const urlNullRemoved = (0, _ui_utils.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nclass PDFLinkService {\n #pagesRefCache = new Map();\n\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this.#pagesRefCache.clear();\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n\n #goToDestinationHelper(rawDest, namedDest = null, explicitDest) {\n const destRef = explicitDest[0];\n let pageNumber;\n\n if (typeof destRef === \"object\" && destRef !== null) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (!pageNumber) {\n this.pdfDocument.getPageIndex(destRef).then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n this.#goToDestinationHelper(rawDest, namedDest, explicitDest);\n }).catch(() => {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` + `a valid page reference, for dest=\"${rawDest}\".`);\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` + `a valid destination reference, for dest=\"${rawDest}\".`);\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${pageNumber}\" is not ` + `a valid page number, for dest=\"${rawDest}\".`);\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n }\n\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n\n let namedDest, explicitDest;\n\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n\n if (!Array.isArray(explicitDest)) {\n console.error(`PDFLinkService.goToDestination: \"${explicitDest}\" is not ` + `a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n\n this.#goToDestinationHelper(dest, namedDest, explicitDest);\n }\n\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n const pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber\n });\n }\n\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel: this.externalLinkRel,\n enabled: this.externalLinkEnabled\n });\n }\n\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n\n return this.getAnchorUrl(\"\");\n }\n\n getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n\n let pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n const params = (0, _ui_utils.parseQueryString)(hash);\n\n if (params.has(\"search\")) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.get(\"search\").replace(/\"/g, \"\"),\n phraseSearch: params.get(\"phrase\") === \"true\"\n });\n }\n\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n\n if (params.has(\"zoom\")) {\n const zoomArgs = params.get(\"zoom\").split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`);\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\")\n });\n }\n\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || PDFLinkService.#isValidExplicitDestination(dest)) {\n this.goToDestination(dest);\n return;\n }\n\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`);\n }\n }\n\n executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this.#pagesRefCache.set(refStr, pageNum);\n }\n\n _cachedPageNumber(pageRef) {\n if (!pageRef) {\n return null;\n }\n\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this.#pagesRefCache.get(refStr) || null;\n }\n\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n\n isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(pageNumber);\n }\n\n static #isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n const destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n const page = dest[0];\n\n if (!(typeof page === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n const zoom = dest[1];\n\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n let allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n }\n\n}\n\nexports.PDFLinkService = PDFLinkService;\n\nclass SimpleLinkService {\n constructor() {\n this.externalLinkEnabled = true;\n }\n\n get pagesCount() {\n return 0;\n }\n\n get page() {\n return 0;\n }\n\n set page(value) {}\n\n get rotation() {\n return 0;\n }\n\n set rotation(value) {}\n\n async goToDestination(dest) {}\n\n goToPage(val) {}\n\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n enabled: this.externalLinkEnabled\n });\n }\n\n getDestinationHash(dest) {\n return \"#\";\n }\n\n getAnchorUrl(hash) {\n return \"#\";\n }\n\n setHash(hash) {}\n\n executeNamedAction(action) {}\n\n cachePageRef(pageNum, pageRef) {}\n\n isPageVisible(pageNumber) {\n return true;\n }\n\n isPageCached(pageNumber) {\n return true;\n }\n\n}\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.animationStarted = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RenderingStates = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.OutputScale = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.AutoPrintRegExp = void 0;\nexports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes;\nexports.apiPageModeToSidebarView = apiPageModeToSidebarView;\nexports.approximateFraction = approximateFraction;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.getActiveOrFocusedElement = getActiveOrFocusedElement;\nexports.getPageSizeInches = getPageSizeInches;\nexports.getVisibleElements = getVisibleElements;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.parseQueryString = parseQueryString;\nexports.removeNullCharacters = removeNullCharacters;\nexports.roundToDivide = roundToDivide;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nconst DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nconst DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nconst DEFAULT_SCALE_DELTA = 1.1;\nexports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA;\nconst MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nconst MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nconst UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nconst MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nconst SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nconst VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nexports.SidebarView = SidebarView;\nconst RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3\n};\nexports.ScrollMode = ScrollMode;\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n this.sx = pixelRatio;\n this.sy = pixelRatio;\n }\n\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n\n}\n\nexports.OutputScale = OutputScale;\n\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n let parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains(\"markedContent\") || getComputedStyle(parent).overflow === \"hidden\")) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n const params = new Map();\n\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n\n return params;\n}\n\nconst NullCharactersRegExp = /\\x00/g;\nconst InvisibleCharactersRegExp = /[\\x01-\\x1F]/g;\n\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (typeof str !== \"string\") {\n console.error(`The argument must be a string.`);\n return str;\n }\n\n if (replaceInvisible) {\n str = str.replace(InvisibleCharactersRegExp, \" \");\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n const xinv = 1 / x;\n const limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n const p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n let result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: fractionWidth * 100 | 0\n });\n ids.add(view.id);\n }\n\n const first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first,\n last,\n views: visible,\n ids\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n let delta = normalizeWheelEventDirection(evt);\n const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n const MOUSE_DOM_DELTA_LINE_MODE = 1;\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n constructor(id) {\n if (arguments.length > 1) {\n throw new Error(\"ProgressBar no longer accepts any additional options, \" + \"please use CSS rules to modify its appearance instead.\");\n }\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.percent = 0;\n }\n\n #updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n const doc = document.documentElement;\n doc.style.setProperty(\"--progressBar-percent\", `${this._percent}%`);\n }\n\n get percent() {\n return this._percent;\n }\n\n set percent(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n this.#updateBar();\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n const doc = document.documentElement;\n doc.style.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n\n hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n }\n\n show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n this.bar.classList.remove(\"hidden\");\n }\n\n}\n\nexports.ProgressBar = ProgressBar;\n\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n\n case \"OneColumn\":\n break;\n\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n\n return {\n scrollMode,\n spreadMode\n };\n}\n\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n\n return SidebarView.NONE;\n}\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StructTreeLayerBuilder = void 0;\nconst PDF_ROLE_TO_HTML_ROLE = {\n Document: null,\n DocumentFragment: null,\n Part: \"group\",\n Sect: \"group\",\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n P: null,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n Sub: \"group\",\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n Caption: null,\n Figure: \"figure\",\n Formula: null,\n Artifact: null\n};\nconst HEADING_PATTERN = /^H(\\d+)$/;\n\nclass StructTreeLayerBuilder {\n constructor({\n pdfPage\n }) {\n this.pdfPage = pdfPage;\n }\n\n render(structTree) {\n return this._walk(structTree);\n }\n\n _setAttributes(structElement, htmlElement) {\n if (structElement.alt !== undefined) {\n htmlElement.setAttribute(\"aria-label\", structElement.alt);\n }\n\n if (structElement.id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", structElement.id);\n }\n\n if (structElement.lang !== undefined) {\n htmlElement.setAttribute(\"lang\", structElement.lang);\n }\n }\n\n _walk(node) {\n if (!node) {\n return null;\n }\n\n const element = document.createElement(\"span\");\n\n if (\"role\" in node) {\n const {\n role\n } = node;\n const match = role.match(HEADING_PATTERN);\n\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n }\n\n this._setAttributes(node, element);\n\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n this._setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.appendChild(this._walk(kid));\n }\n }\n }\n\n return element;\n }\n\n}\n\nexports.StructTreeLayerBuilder = StructTreeLayerBuilder;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nconst EXPAND_DIVS_TIMEOUT = 300;\n\nclass TextLayerBuilder {\n constructor({\n textLayerDiv,\n eventBus,\n pageIndex,\n viewport,\n highlighter = null,\n enhanceTextSelection = false\n }) {\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageNumber = pageIndex + 1;\n this.viewport = viewport;\n this.textDivs = [];\n this.textLayerRenderTask = null;\n this.highlighter = highlighter;\n this.enhanceTextSelection = enhanceTextSelection;\n\n this._bindMouse();\n }\n\n _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n\n render(timeout = 0) {\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs.length = 0;\n this.highlighter?.setTextMapping(this.textDivs, this.textContentItemsStr);\n const textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(() => {\n this.textLayerDiv.appendChild(textLayerFrag);\n\n this._finishRendering();\n\n this.highlighter?.enable();\n }, function (reason) {});\n }\n\n cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n this.highlighter?.disable();\n }\n\n setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n\n setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n\n _bindMouse() {\n const div = this.textLayerDiv;\n let expandDivsTimer = null;\n div.addEventListener(\"mousedown\", evt => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n let adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n const divBounds = div.getBoundingClientRect();\n const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", () => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n expandDivsTimer = setTimeout(() => {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n\n}\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nclass XfaLayerBuilder {\n constructor({\n pageDiv,\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n this.div = null;\n this._cancelled = false;\n }\n\n render(viewport, intent = \"display\") {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n const div = document.createElement(\"div\");\n this.pageDiv.appendChild(div);\n parameters.div = div;\n\n const result = _pdfjsLib.XfaLayer.render(parameters);\n\n return Promise.resolve(result);\n }\n\n return this.pdfPage.getXfa().then(xfaHtml => {\n if (this._cancelled || !xfaHtml) {\n return {\n textDivs: []\n };\n }\n\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n\n if (this.div) {\n return _pdfjsLib.XfaLayer.update(parameters);\n }\n\n this.div = document.createElement(\"div\");\n this.pageDiv.appendChild(this.div);\n parameters.div = this.div;\n return _pdfjsLib.XfaLayer.render(parameters);\n }).catch(error => {\n console.error(error);\n });\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n\n this.div.hidden = true;\n }\n\n}\n\nexports.XfaLayerBuilder = XfaLayerBuilder;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFViewer = exports.PDFSinglePageViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _base_viewer = __w_pdfjs_require__(11);\n\nclass PDFViewer extends _base_viewer.BaseViewer {}\n\nexports.PDFViewer = PDFViewer;\n\nclass PDFSinglePageViewer extends _base_viewer.BaseViewer {\n _resetView() {\n super._resetView();\n\n this._scrollMode = _ui_utils.ScrollMode.PAGE;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n }\n\n set scrollMode(mode) {}\n\n _updateScrollMode() {}\n\n set spreadMode(mode) {}\n\n _updateSpreadMode() {}\n\n}\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PagesCountLimit = exports.PDFPageViewBuffer = exports.BaseViewer = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(2);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nvar _pdf_page_view = __w_pdfjs_require__(12);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(14);\n\nvar _pdf_link_service = __w_pdfjs_require__(5);\n\nvar _struct_tree_layer_builder = __w_pdfjs_require__(7);\n\nvar _text_highlighter = __w_pdfjs_require__(15);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _xfa_layer_builder = __w_pdfjs_require__(9);\n\nconst DEFAULT_CACHE_SIZE = 10;\nconst ENABLE_PERMISSIONS_CLASS = \"enablePermissions\";\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 15000,\n FORCE_LAZY_PAGE_INIT: 7500,\n PAUSE_EAGER_PAGE_INIT: 250\n};\nexports.PagesCountLimit = PagesCountLimit;\n\nclass PDFPageViewBuffer {\n #buf = new Set();\n #size = 0;\n\n constructor(size) {\n this.#size = size;\n }\n\n push(view) {\n const buf = this.#buf;\n\n if (buf.has(view)) {\n buf.delete(view);\n }\n\n buf.add(view);\n\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n const buf = this.#buf;\n\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view);\n buf.add(view);\n }\n\n if (++i > ii) {\n break;\n }\n }\n }\n\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n\n has(view) {\n return this.#buf.has(view);\n }\n\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n\n}\n\nexports.PDFPageViewBuffer = PDFPageViewBuffer;\n\nclass BaseViewer {\n #buffer = null;\n #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n #previousAnnotationMode = null;\n #enablePermissions = false;\n #previousContainerHeight = 0;\n #scrollModePageState = null;\n #onVisibilityChange = null;\n\n constructor(options) {\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n const viewerVersion = '2.14.305';\n\n if (_pdfjsLib.version !== viewerVersion) {\n throw new Error(`The API version \"${_pdfjsLib.version}\" does not match the Viewer version \"${viewerVersion}\".`);\n }\n\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (!(this.container?.tagName.toUpperCase() === \"DIV\" && this.viewer?.tagName.toUpperCase() === \"DIV\")) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n\n if (this.container.offsetParent && getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this._scriptingManager = options.scriptingManager || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n\n if (options.pageColors && (!CSS.supports(\"color\", options.pageColors.background) || !CSS.supports(\"color\", options.pageColors.foreground))) {\n if (options.pageColors.background || options.pageColors.foreground) {\n console.warn(\"Ignoring `pageColors`-option, since the browser doesn't support the values used.\");\n }\n\n this.pageColors = null;\n }\n\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this._doc = document.documentElement;\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n this.updateContainerHeightCss();\n Promise.resolve().then(() => {\n this.eventBus.dispatch(\"baseviewerinit\", {\n source: this\n });\n });\n }\n\n get pagesCount() {\n return this._pages.length;\n }\n\n getPageView(index) {\n return this._pages[index];\n }\n\n get pageViewsReady() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView?.pdfPage;\n });\n }\n\n get renderForms() {\n return this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n }\n\n get enableScripting() {\n return !!this._scriptingManager;\n }\n\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous\n });\n\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n\n return true;\n }\n\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n let page = val | 0;\n\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n\n get currentScale() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n }\n\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n\n get pagesRotation() {\n return this._pagesRotation;\n }\n\n set pagesRotation(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n rotation %= 360;\n\n if (rotation < 0) {\n rotation += 360;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n const pageNumber = this._currentPageNumber;\n const updateArgs = {\n rotation\n };\n\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n\n #initializePermissions(permissions) {\n if (!permissions) {\n return;\n }\n\n if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY)) {\n this.viewer.classList.add(ENABLE_PERMISSIONS_CLASS);\n }\n\n if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(_pdfjsLib.PermissionFlag.FILL_INTERACTIVE_FORMS)) {\n if (this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS) {\n this.#previousAnnotationMode = this.#annotationMode;\n this.#annotationMode = _pdfjsLib.AnnotationMode.ENABLE;\n }\n }\n }\n\n #onePageRenderedOrForceFetch() {\n if (document.visibilityState === \"hidden\" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n const visibilityChangePromise = new Promise(resolve => {\n this.#onVisibilityChange = () => {\n if (document.visibilityState !== \"hidden\") {\n return;\n }\n\n resolve();\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n };\n\n document.addEventListener(\"visibilitychange\", this.#onVisibilityChange);\n });\n return Promise.race([this._onePageRenderedCapability.promise, visibilityChangePromise]);\n }\n\n setDocument(pdfDocument) {\n if (this.pdfDocument) {\n this.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n\n if (this._scriptingManager) {\n this._scriptingManager.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n const isPureXfa = pdfDocument.isPureXfa;\n const pagesCount = pdfDocument.numPages;\n const firstPagePromise = pdfDocument.getPage(1);\n const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\n const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();\n\n if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n console.warn(\"Forcing PAGE-scrolling for performance reasons, given the length of the document.\");\n const mode = this._scrollMode = _ui_utils.ScrollMode.PAGE;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n }\n\n this._pagesCapability.promise.then(() => {\n this.eventBus.dispatch(\"pagesloaded\", {\n source: this,\n pagesCount\n });\n }, () => {});\n\n this._onBeforeDraw = evt => {\n const pageView = this._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n this.#buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = evt => {\n if (evt.cssTransform || this._onePageRenderedCapability.settled) {\n return;\n }\n\n this._onePageRenderedCapability.resolve({\n timestamp: evt.timestamp\n });\n\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n\n if (this.#onVisibilityChange) {\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n }\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n\n this._firstPageCapability.resolve(firstPdfPage);\n\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n this.#initializePermissions(permissions);\n const viewerElement = this._scrollMode === _ui_utils.ScrollMode.PAGE ? null : this.viewer;\n const scale = this.currentScale;\n const viewport = firstPdfPage.getViewport({\n scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n const textLayerFactory = this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !isPureXfa ? this : null;\n const annotationLayerFactory = this.#annotationMode !== _pdfjsLib.AnnotationMode.DISABLE ? this : null;\n const xfaLayerFactory = isPureXfa ? this : null;\n\n for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n const pageView = new _pdf_page_view.PDFPageView({\n container: viewerElement,\n eventBus: this.eventBus,\n id: pageNum,\n scale,\n defaultViewport: viewport.clone(),\n optionalContentConfigPromise,\n renderingQueue: this.renderingQueue,\n textLayerFactory,\n textLayerMode: this.textLayerMode,\n annotationLayerFactory,\n annotationMode: this.#annotationMode,\n xfaLayerFactory,\n textHighlighterFactory: this,\n structTreeLayerFactory: this,\n imageResourcesPath: this.imageResourcesPath,\n renderer: this.renderer,\n useOnlyCssZoom: this.useOnlyCssZoom,\n maxCanvasPixels: this.maxCanvasPixels,\n pageColors: this.pageColors,\n l10n: this.l10n\n });\n\n this._pages.push(pageView);\n }\n\n const firstPageView = this._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n this.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {\n this._updateSpreadMode();\n }\n\n this.#onePageRenderedOrForceFetch().then(async () => {\n if (this.findController) {\n this.findController.setDocument(pdfDocument);\n }\n\n if (this._scriptingManager) {\n this._scriptingManager.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) {\n this._pagesCapability.resolve();\n\n return;\n }\n\n let getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n this._pagesCapability.resolve();\n\n return;\n }\n\n for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n const promise = pdfDocument.getPage(pageNum).then(pdfPage => {\n const pageView = this._pages[pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n this.linkService.cachePageRef(pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n }, reason => {\n console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);\n\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n });\n\n if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) {\n await promise;\n }\n }\n });\n this.eventBus.dispatch(\"pagesinit\", {\n source: this\n });\n pdfDocument.getMetadata().then(({\n info\n }) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n\n if (info.Language) {\n this.viewer.lang = info.Language;\n }\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }).catch(reason => {\n console.error(\"Unable to initialize viewer\", reason);\n\n this._pagesCapability.reject(reason);\n });\n }\n\n setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(`setPageLabels: Invalid page labels.`);\n } else {\n this._pageLabels = labels;\n }\n\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null);\n }\n }\n\n _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._previousScrollMode = _ui_utils.ScrollMode.UNKNOWN;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n this.#scrollModePageState = {\n previousPageNumber: 1,\n scrollDown: true,\n pages: []\n };\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n if (this.#onVisibilityChange) {\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n\n this.viewer.removeAttribute(\"lang\");\n this.viewer.classList.remove(ENABLE_PERMISSIONS_CLASS);\n\n if (this.#previousAnnotationMode !== null) {\n this.#annotationMode = this.#previousAnnotationMode;\n this.#previousAnnotationMode = null;\n }\n }\n\n #ensurePageViewVisible() {\n if (this._scrollMode !== _ui_utils.ScrollMode.PAGE) {\n throw new Error(\"#ensurePageViewVisible: Invalid scrollMode value.\");\n }\n\n const pageNumber = this._currentPageNumber,\n state = this.#scrollModePageState,\n viewer = this.viewer;\n viewer.textContent = \"\";\n state.pages.length = 0;\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE && !this.isInPresentationMode) {\n const pageView = this._pages[pageNumber - 1];\n viewer.appendChild(pageView.div);\n state.pages.push(pageView);\n } else {\n const pageIndexSet = new Set(),\n parity = this._spreadMode - 1;\n\n if (parity === -1) {\n pageIndexSet.add(pageNumber - 1);\n } else if (pageNumber % 2 !== parity) {\n pageIndexSet.add(pageNumber - 1);\n pageIndexSet.add(pageNumber);\n } else {\n pageIndexSet.add(pageNumber - 2);\n pageIndexSet.add(pageNumber - 1);\n }\n\n const spread = document.createElement(\"div\");\n spread.className = \"spread\";\n\n if (this.isInPresentationMode) {\n const dummyPage = document.createElement(\"div\");\n dummyPage.className = \"dummyPage\";\n spread.appendChild(dummyPage);\n }\n\n for (const i of pageIndexSet) {\n const pageView = this._pages[i];\n\n if (!pageView) {\n continue;\n }\n\n spread.appendChild(pageView.div);\n state.pages.push(pageView);\n }\n\n viewer.appendChild(spread);\n }\n\n state.scrollDown = pageNumber >= state.previousPageNumber;\n state.previousPageNumber = pageNumber;\n }\n\n _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n\n #scrollIntoView(pageView, pageSpot = null) {\n const {\n div,\n id\n } = pageView;\n\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this._setCurrentPageNumber(id);\n\n this.#ensurePageViewVisible();\n this.update();\n }\n\n if (!pageSpot && !this.isInPresentationMode) {\n const left = div.offsetLeft + div.clientLeft,\n right = left + div.clientWidth;\n const {\n scrollLeft,\n clientWidth\n } = this.container;\n\n if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n (0, _ui_utils.scrollIntoView)(div, pageSpot);\n }\n\n #isSameScale(newScale) {\n return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;\n }\n\n _setScaleUpdatePages(newScale, newValue, noScroll = false, preset = false) {\n this._currentScaleValue = newValue.toString();\n\n if (this.#isSameScale(newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n this._doc.style.setProperty(\"--zoom-factor\", newScale);\n\n const updateArgs = {\n scale: newScale\n };\n\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n let page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n\n this.updateContainerHeightCss();\n }\n\n get _pageWidthScaleFactor() {\n if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL) {\n return 2;\n }\n\n return 1;\n }\n\n _setScale(value, noScroll = false) {\n let scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n const currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n let hPadding = _ui_utils.SCROLLBAR_PADDING,\n vPadding = _ui_utils.VERTICAL_PADDING;\n\n if (this.isInPresentationMode) {\n hPadding = vPadding = 4;\n } else if (this.removePageBorders) {\n hPadding = vPadding = 0;\n } else if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL) {\n [hPadding, vPadding] = [vPadding, hPadding];\n }\n\n const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor;\n const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n const horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(`_setScale: \"${value}\" is an unknown zoom value.`);\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n\n #resetCurrentPageView() {\n const pageView = this._pages[this._currentPageNumber - 1];\n\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.#scrollIntoView(pageView);\n }\n\n pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n\n const i = this._pageLabels.indexOf(label);\n\n if (i < 0) {\n return null;\n }\n\n return i + 1;\n }\n\n scrollPageIntoView({\n pageNumber,\n destArray = null,\n allowNegativeOffset = false,\n ignoreDestinationZoom = false\n }) {\n if (!this.pdfDocument) {\n return;\n }\n\n const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(`scrollPageIntoView: \"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n let x = 0,\n y = 0;\n let width = 0,\n height = 0,\n widthScale,\n heightScale;\n const changeOrientation = pageView.rotation % 180 !== 0;\n const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n let scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n } else if (typeof y !== \"number\" || y < 0) {\n y = pageHeight;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n const hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n const vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(`scrollPageIntoView: \"${destArray[1].name}\" is not a valid destination type.`);\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this.#scrollIntoView(pageView);\n return;\n }\n\n const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this.#scrollIntoView(pageView, {\n left,\n top\n });\n }\n\n _updateLocation(firstPage) {\n const currentScale = this._currentScale;\n const currentScaleValue = this._currentScaleValue;\n const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n const pageNumber = firstPage.id;\n const currentPageView = this._pages[pageNumber - 1];\n const container = this.container;\n const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n const intLeft = Math.round(topLeft[0]);\n const intTop = Math.round(topLeft[1]);\n let pdfOpenParams = `#page=${pageNumber}`;\n\n if (!this.isInPresentationMode) {\n pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;\n }\n\n this._location = {\n pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams\n };\n }\n\n update() {\n const visible = this._getVisiblePages();\n\n const visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n this.#buffer.resize(newCacheSize, visible.ids);\n this.renderingQueue.renderHighestPriority(visible);\n const isSimpleLayout = this._spreadMode === _ui_utils.SpreadMode.NONE && (this._scrollMode === _ui_utils.ScrollMode.PAGE || this._scrollMode === _ui_utils.ScrollMode.VERTICAL);\n const currentId = this._currentPageNumber;\n let stillFullyVisible = false;\n\n for (const page of visiblePages) {\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId && isSimpleLayout) {\n stillFullyVisible = true;\n break;\n }\n }\n\n this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n\n containsElement(element) {\n return this.container.contains(element);\n }\n\n focus() {\n this.container.focus();\n }\n\n get _isContainerRtl() {\n return getComputedStyle(this.container).direction === \"rtl\";\n }\n\n get isInPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n\n get isChangingPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n\n get isHorizontalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n\n get isVerticalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n\n _getVisiblePages() {\n const views = this._scrollMode === _ui_utils.ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,\n horizontal = this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL,\n rtl = horizontal && this._isContainerRtl;\n return (0, _ui_utils.getVisibleElements)({\n scrollEl: this.container,\n views,\n sortByVisibility: true,\n horizontal,\n rtl\n });\n }\n\n isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`isPageVisible: \"${pageNumber}\" is not a valid page.`);\n return false;\n }\n\n return this._getVisiblePages().ids.has(pageNumber);\n }\n\n isPageCached(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`isPageCached: \"${pageNumber}\" is not a valid page.`);\n return false;\n }\n\n const pageView = this._pages[pageNumber - 1];\n return this.#buffer.has(pageView);\n }\n\n cleanup() {\n for (const pageView of this._pages) {\n if (pageView.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n pageView.reset();\n }\n }\n }\n\n _cancelRendering() {\n for (const pageView of this._pages) {\n pageView.cancelRendering();\n }\n }\n\n async #ensurePdfPageLoaded(pageView) {\n if (pageView.pdfPage) {\n return pageView.pdfPage;\n }\n\n try {\n const pdfPage = await this.pdfDocument.getPage(pageView.id);\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n if (!this.linkService._cachedPageNumber?.(pdfPage.ref)) {\n this.linkService.cachePageRef(pageView.id, pdfPage.ref);\n }\n\n return pdfPage;\n } catch (reason) {\n console.error(\"Unable to get page for page view\", reason);\n return null;\n }\n }\n\n #getScrollAhead(visible) {\n if (visible.first?.id === 1) {\n return true;\n } else if (visible.last?.id === this.pagesCount) {\n return false;\n }\n\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.PAGE:\n return this.#scrollModePageState.scrollDown;\n\n case _ui_utils.ScrollMode.HORIZONTAL:\n return this.scroll.right;\n }\n\n return this.scroll.down;\n }\n\n #toggleLoadingIconSpinner(visibleIds) {\n for (const id of visibleIds) {\n const pageView = this._pages[id - 1];\n pageView?.toggleLoadingIconSpinner(true);\n }\n\n for (const pageView of this.#buffer) {\n if (visibleIds.has(pageView.id)) {\n continue;\n }\n\n pageView.toggleLoadingIconSpinner(false);\n }\n }\n\n forceRendering(currentlyVisiblePages) {\n const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n const scrollAhead = this.#getScrollAhead(visiblePages);\n const preRenderExtra = this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL;\n const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);\n this.#toggleLoadingIconSpinner(visiblePages.ids);\n\n if (pageView) {\n this.#ensurePdfPageLoaded(pageView).then(() => {\n this.renderingQueue.renderView(pageView);\n });\n return true;\n }\n\n return false;\n }\n\n createTextLayerBuilder(textLayerDiv, pageIndex, viewport, enhanceTextSelection = false, eventBus, highlighter) {\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv,\n eventBus,\n pageIndex,\n viewport,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection,\n highlighter\n });\n }\n\n createTextHighlighter(pageIndex, eventBus) {\n return new _text_highlighter.TextHighlighter({\n eventBus,\n pageIndex,\n findController: this.isInPresentationMode ? null : this.findController\n });\n }\n\n createAnnotationLayerBuilder(pageDiv, pdfPage, annotationStorage = null, imageResourcesPath = \"\", renderForms = true, l10n = _l10n_utils.NullL10n, enableScripting = null, hasJSActionsPromise = null, mouseState = null, fieldObjectsPromise = null, annotationCanvasMap = null) {\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage: annotationStorage || this.pdfDocument?.annotationStorage,\n imageResourcesPath,\n renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n,\n enableScripting: enableScripting ?? this.enableScripting,\n hasJSActionsPromise: hasJSActionsPromise || this.pdfDocument?.hasJSActions(),\n fieldObjectsPromise: fieldObjectsPromise || this.pdfDocument?.getFieldObjects(),\n mouseState: mouseState || this._scriptingManager?.mouseState,\n annotationCanvasMap\n });\n }\n\n createXfaLayerBuilder(pageDiv, pdfPage, annotationStorage = null) {\n return new _xfa_layer_builder.XfaLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage: annotationStorage || this.pdfDocument?.annotationStorage,\n linkService: this.linkService\n });\n }\n\n createStructTreeLayerBuilder(pdfPage) {\n return new _struct_tree_layer_builder.StructTreeLayerBuilder({\n pdfPage\n });\n }\n\n get hasEqualPageSizes() {\n const firstPageView = this._pages[0];\n\n for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n const pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n\n getPagesOverview() {\n return this._pages.map(pageView => {\n const viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n\n if (!this.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) {\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n }\n\n return {\n width: viewport.height,\n height: viewport.width,\n rotation: (viewport.rotation - 90) % 360\n };\n });\n }\n\n get optionalContentConfigPromise() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n\n if (!this._optionalContentConfigPromise) {\n return this.pdfDocument.getOptionalContentConfig();\n }\n\n return this._optionalContentConfigPromise;\n }\n\n set optionalContentConfigPromise(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(`Invalid optionalContentConfigPromise: ${promise}`);\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._optionalContentConfigPromise) {\n return;\n }\n\n this._optionalContentConfigPromise = promise;\n const updateArgs = {\n optionalContentConfigPromise: promise\n };\n\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n\n this.update();\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise\n });\n }\n\n get scrollMode() {\n return this._scrollMode;\n }\n\n set scrollMode(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(`Invalid scroll mode: ${mode}`);\n }\n\n if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n return;\n }\n\n this._previousScrollMode = this._scrollMode;\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n\n _updateScrollMode(pageNumber = null) {\n const scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._previousScrollMode === _ui_utils.ScrollMode.PAGE) {\n this._updateSpreadMode();\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n\n get spreadMode() {\n return this._spreadMode;\n }\n\n set spreadMode(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(`Invalid spread mode: ${mode}`);\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n\n _updateSpreadMode(pageNumber = null) {\n if (!this.pdfDocument) {\n return;\n }\n\n const viewer = this.viewer,\n pages = this._pages;\n\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else {\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (const pageView of this._pages) {\n viewer.appendChild(pageView.div);\n }\n } else {\n const parity = this._spreadMode - 1;\n let spread = null;\n\n for (let i = 0, ii = pages.length; i < ii; ++i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[i].div);\n }\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n\n _getPageAdvance(currentPageNumber, previous = false) {\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.WRAPPED:\n {\n const {\n views\n } = this._getVisiblePages(),\n pageLayout = new Map();\n\n for (const {\n id,\n y,\n percent,\n widthPercent\n } of views) {\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n\n let yArray = pageLayout.get(y);\n\n if (!yArray) {\n pageLayout.set(y, yArray ||= []);\n }\n\n yArray.push(id);\n }\n\n for (const yArray of pageLayout.values()) {\n const currentIndex = yArray.indexOf(currentPageNumber);\n\n if (currentIndex === -1) {\n continue;\n }\n\n const numPages = yArray.length;\n\n if (numPages === 1) {\n break;\n }\n\n if (previous) {\n for (let i = currentIndex - 1, ii = 0; i >= ii; i--) {\n const currentId = yArray[i],\n expectedId = yArray[i + 1] - 1;\n\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {\n const currentId = yArray[i],\n expectedId = yArray[i - 1] + 1;\n\n if (currentId > expectedId) {\n return expectedId - currentPageNumber;\n }\n }\n }\n\n if (previous) {\n const firstId = yArray[0];\n\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n const lastId = yArray[numPages - 1];\n\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n\n break;\n }\n\n break;\n }\n\n case _ui_utils.ScrollMode.HORIZONTAL:\n {\n break;\n }\n\n case _ui_utils.ScrollMode.PAGE:\n case _ui_utils.ScrollMode.VERTICAL:\n {\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n break;\n }\n\n const parity = this._spreadMode - 1;\n\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n\n const {\n views\n } = this._getVisiblePages(),\n expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n\n for (const {\n id,\n percent,\n widthPercent\n } of views) {\n if (id !== expectedId) {\n continue;\n }\n\n if (percent > 0 && widthPercent === 100) {\n return 2;\n }\n\n break;\n }\n\n break;\n }\n }\n\n return 1;\n }\n\n nextPage() {\n const currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n\n const advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n\n previousPage() {\n const currentPageNumber = this._currentPageNumber;\n\n if (currentPageNumber <= 1) {\n return false;\n }\n\n const advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n\n increaseScale(steps = 1) {\n let newScale = this._currentScale;\n\n do {\n newScale = (newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);\n newScale = Math.ceil(newScale * 10) / 10;\n newScale = Math.min(_ui_utils.MAX_SCALE, newScale);\n } while (--steps > 0 && newScale < _ui_utils.MAX_SCALE);\n\n this.currentScaleValue = newScale;\n }\n\n decreaseScale(steps = 1) {\n let newScale = this._currentScale;\n\n do {\n newScale = (newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);\n newScale = Math.floor(newScale * 10) / 10;\n newScale = Math.max(_ui_utils.MIN_SCALE, newScale);\n } while (--steps > 0 && newScale > _ui_utils.MIN_SCALE);\n\n this.currentScaleValue = newScale;\n }\n\n updateContainerHeightCss() {\n const height = this.container.clientHeight;\n\n if (height !== this.#previousContainerHeight) {\n this.#previousContainerHeight = height;\n\n this._doc.style.setProperty(\"--viewer-container-height\", `${height}px`);\n }\n }\n\n}\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFPageView = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _app_options = __w_pdfjs_require__(13);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nconst MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216;\n\nclass PDFPageView {\n #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n\n constructor(options) {\n const container = options.container;\n const defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.hasRestrictedScaling = false;\n this.textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.pageColors = options.pageColors || null;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.xfaLayerFactory = options.xfaLayerFactory;\n this.textHighlighter = options.textHighlighterFactory?.createTextHighlighter(this.id - 1, this.eventBus);\n this.structTreeLayerFactory = options.structTreeLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _ui_utils.RenderingStates.INITIAL;\n this.resume = null;\n this._renderError = null;\n this._isStandalone = !this.renderingQueue?.hasViewer();\n this._annotationCanvasMap = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n this.xfaLayer = null;\n this.structTreeLayer = null;\n const div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n div.setAttribute(\"role\", \"region\");\n this.l10n.get(\"page_landmark\", {\n page: this.id\n }).then(msg => {\n div.setAttribute(\"aria-label\", msg);\n });\n this.div = div;\n container?.appendChild(div);\n }\n\n setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.reset();\n }\n\n destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n\n async _renderAnnotationLayer() {\n let error = null;\n\n try {\n await this.annotationLayer.render(this.viewport, \"display\");\n } catch (ex) {\n error = ex;\n } finally {\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n\n async _renderXfaLayer() {\n let error = null;\n\n try {\n const result = await this.xfaLayer.render(this.viewport, \"display\");\n\n if (this.textHighlighter) {\n this._buildXfaTextContentItems(result.textDivs);\n }\n } catch (ex) {\n error = ex;\n } finally {\n this.eventBus.dispatch(\"xfalayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n\n async _buildXfaTextContentItems(textDivs) {\n const text = await this.pdfPage.getTextContent();\n const items = [];\n\n for (const item of text.items) {\n items.push(item.str);\n }\n\n this.textHighlighter.setTextMapping(textDivs, items);\n this.textHighlighter.enable();\n }\n\n _resetZoomLayer(removeFromDOM = false) {\n if (!this.zoomLayer) {\n return;\n }\n\n const zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n\n reset({\n keepZoomLayer = false,\n keepAnnotationLayer = false,\n keepXfaLayer = false\n } = {}) {\n this.cancelRendering({\n keepAnnotationLayer,\n keepXfaLayer\n });\n this.renderingState = _ui_utils.RenderingStates.INITIAL;\n const div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n const childNodes = div.childNodes,\n zoomLayerNode = keepZoomLayer && this.zoomLayer || null,\n annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null,\n xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null;\n\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const node = childNodes[i];\n\n switch (node) {\n case zoomLayerNode:\n case annotationLayerNode:\n case xfaLayerNode:\n continue;\n }\n\n node.remove();\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (annotationLayerNode) {\n this.annotationLayer.hide();\n }\n\n if (xfaLayerNode) {\n this.xfaLayer.hide();\n }\n\n if (!zoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap.delete(this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon notVisible\";\n\n if (this._isStandalone) {\n this.toggleLoadingIconSpinner(true);\n }\n\n this.loadingIconDiv.setAttribute(\"role\", \"img\");\n this.l10n.get(\"loading\").then(msg => {\n this.loadingIconDiv?.setAttribute(\"aria-label\", msg);\n });\n div.appendChild(this.loadingIconDiv);\n }\n\n update({\n scale = 0,\n rotation = null,\n optionalContentConfigPromise = null\n }) {\n this.scale = scale || this.scale;\n\n if (typeof rotation === \"number\") {\n this.rotation = rotation;\n }\n\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n }\n\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this._isStandalone) {\n const {\n style\n } = document.documentElement;\n style.setProperty(\"--zoom-factor\", this.scale);\n }\n\n if (this.svg) {\n this.cssTransform({\n target: this.svg,\n redrawAnnotationLayer: true,\n redrawXfaLayer: true\n });\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this._renderError\n });\n return;\n }\n\n let isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n const outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform({\n target: this.canvas,\n redrawAnnotationLayer: true,\n redrawXfaLayer: true\n });\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this._renderError\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hidden) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform({\n target: this.zoomLayer.firstChild\n });\n }\n\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepXfaLayer: true\n });\n }\n\n cancelRendering({\n keepAnnotationLayer = false,\n keepXfaLayer = false\n } = {}) {\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n this._annotationCanvasMap = null;\n }\n\n if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {\n this.xfaLayer.cancel();\n this.xfaLayer = null;\n this.textHighlighter?.disable();\n }\n\n if (this._onTextLayerRendered) {\n this.eventBus._off(\"textlayerrendered\", this._onTextLayerRendered);\n\n this._onTextLayerRendered = null;\n }\n }\n\n cssTransform({\n target,\n redrawAnnotationLayer = false,\n redrawXfaLayer = false\n }) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n const div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n const relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n const absRotation = Math.abs(relativeRotation);\n let scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n target.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX}, ${scaleY})`;\n\n if (this.textLayer) {\n const textLayerViewport = this.textLayer.viewport;\n const textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n const textAbsRotation = Math.abs(textRelativeRotation);\n let scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n const textLayerDiv = this.textLayer.textLayerDiv;\n let transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = `rotate(${textAbsRotation}deg) ` + `scale(${scale}) ` + `translate(${transX}, ${transY})`;\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotationLayer && this.annotationLayer) {\n this._renderAnnotationLayer();\n }\n\n if (redrawXfaLayer && this.xfaLayer) {\n this._renderXfaLayer();\n }\n }\n\n get width() {\n return this.viewport.width;\n }\n\n get height() {\n return this.viewport.height;\n }\n\n getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n\n toggleLoadingIconSpinner(viewVisible = false) {\n this.loadingIconDiv?.classList.toggle(\"notVisible\", !viewVisible);\n }\n\n draw() {\n if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n const {\n div,\n pdfPage\n } = this;\n\n if (!pdfPage) {\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n this.loadingIconDiv.remove();\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _ui_utils.RenderingStates.RUNNING;\n const canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if (this.annotationLayer?.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n let textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n const textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if (this.annotationLayer?.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus, this.textHighlighter);\n }\n\n this.textLayer = textLayer;\n\n if (this.#annotationMode !== _pdfjsLib.AnnotationMode.DISABLE && this.annotationLayerFactory) {\n this._annotationCanvasMap ||= new Map();\n this.annotationLayer ||= this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS, this.l10n, null, null, null, null, this._annotationCanvasMap);\n }\n\n if (this.xfaLayer?.div) {\n div.appendChild(this.xfaLayer.div);\n }\n\n let renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = cont => {\n if (!this.renderingQueue.isHighestPriority(this)) {\n this.renderingState = _ui_utils.RenderingStates.PAUSED;\n\n this.resume = () => {\n this.renderingState = _ui_utils.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n const finishPaintTask = async (error = null) => {\n if (paintTask === this.paintTask) {\n this.paintTask = null;\n }\n\n if (error instanceof _pdfjsLib.RenderingCancelledException) {\n this._renderError = null;\n return;\n }\n\n this._renderError = error;\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n this.loadingIconDiv.remove();\n delete this.loadingIconDiv;\n }\n\n this._resetZoomLayer(true);\n\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: false,\n timestamp: performance.now(),\n error: this._renderError\n });\n\n if (error) {\n throw error;\n }\n };\n\n const paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n const resultPromise = paintTask.promise.then(() => {\n return finishPaintTask(null).then(() => {\n if (textLayer) {\n const readableStream = pdfPage.streamTextContent({\n includeMarkedContent: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n\n if (this.annotationLayer) {\n this._renderAnnotationLayer();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.xfaLayerFactory) {\n if (!this.xfaLayer) {\n this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder(div, pdfPage, null);\n }\n\n this._renderXfaLayer();\n }\n\n if (this.structTreeLayerFactory && this.textLayer && this.canvas) {\n this._onTextLayerRendered = event => {\n if (event.pageNumber !== this.id) {\n return;\n }\n\n this.eventBus._off(\"textlayerrendered\", this._onTextLayerRendered);\n\n this._onTextLayerRendered = null;\n\n if (!this.canvas) {\n return;\n }\n\n this.pdfPage.getStructTree().then(tree => {\n if (!tree) {\n return;\n }\n\n if (!this.canvas) {\n return;\n }\n\n const treeDom = this.structTreeLayer.render(tree);\n treeDom.classList.add(\"structTree\");\n this.canvas.appendChild(treeDom);\n });\n };\n\n this.eventBus._on(\"textlayerrendered\", this._onTextLayerRendered);\n\n this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder(pdfPage);\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n\n paintOnCanvas(canvasWrapper) {\n const renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n const result = {\n promise: renderCapability.promise,\n\n onRenderContinue(cont) {\n cont();\n },\n\n cancel() {\n renderTask.cancel();\n }\n\n };\n const viewport = this.viewport;\n const canvas = document.createElement(\"canvas\");\n canvas.hidden = true;\n let isCanvasHidden = true;\n\n const showCanvas = function () {\n if (isCanvasHidden) {\n canvas.hidden = false;\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n const ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n const outputScale = this.outputScale = new _ui_utils.OutputScale();\n\n if (this.useOnlyCssZoom) {\n const actualSizeViewport = viewport.clone({\n scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n }\n\n if (this.maxCanvasPixels > 0) {\n const pixelsInViewport = viewport.width * viewport.height;\n const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n const sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n const sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;\n const renderContext = {\n canvasContext: ctx,\n transform,\n viewport: this.viewport,\n annotationMode: this.#annotationMode,\n optionalContentConfigPromise: this._optionalContentConfigPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n pageColors: this.pageColors\n };\n const renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve();\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n\n paintOnSvg(wrapper) {\n let cancelled = false;\n\n const ensureNotCancelled = () => {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(`Rendering cancelled, page ${this.id}`, \"svg\");\n }\n };\n\n const pdfPage = this.pdfPage;\n const actualSizeViewport = this.viewport.clone({\n scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n const promise = pdfPage.getOperatorList({\n annotationMode: this.#annotationMode\n }).then(opList => {\n ensureNotCancelled();\n const svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(svg => {\n ensureNotCancelled();\n this.svg = svg;\n this.paintedViewportMap.set(svg, actualSizeViewport);\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise,\n\n onRenderContinue(cont) {\n cont();\n },\n\n cancel() {\n cancelled = true;\n }\n\n };\n }\n\n setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n\n}\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.compatibilityParams = exports.OptionKind = exports.AppOptions = void 0;\nconst compatibilityParams = Object.create(null);\nexports.compatibilityParams = compatibilityParams;\n{\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n const isAndroid = /Android/.test(userAgent);\n const isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nconst OptionKind = {\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80\n};\nexports.OptionKind = OptionKind;\nconst defaultOptions = {\n annotationMode: {\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cursorToolOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultUrl: {\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER\n },\n defaultZoomValue: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n disableHistory: {\n value: false,\n kind: OptionKind.VIEWER\n },\n disablePageLabels: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePermissions: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePrintAutoRotate: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableScripting: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n externalLinkRel: {\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER\n },\n externalLinkTarget: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n historyUpdateUrl: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n ignoreDestinationZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n imageResourcesPath: {\n value: \"./images/\",\n kind: OptionKind.VIEWER\n },\n maxCanvasPixels: {\n value: 16777216,\n compatibility: compatibilityParams.maxCanvasPixels,\n kind: OptionKind.VIEWER\n },\n pageColorsBackground: {\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsForeground: {\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pdfBugEnabled: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n printResolution: {\n value: 150,\n kind: OptionKind.VIEWER\n },\n renderer: {\n value: \"canvas\",\n kind: OptionKind.VIEWER\n },\n sidebarViewOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n scrollModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n spreadModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n textLayerMode: {\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n useOnlyCssZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewerCssTheme: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cMapPacked: {\n value: true,\n kind: OptionKind.API\n },\n cMapUrl: {\n value: \"../web/cmaps/\",\n kind: OptionKind.API\n },\n disableAutoFetch: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableFontFace: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableRange: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableStream: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n docBaseUrl: {\n value: \"\",\n kind: OptionKind.API\n },\n enableXfa: {\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n fontExtraProperties: {\n value: false,\n kind: OptionKind.API\n },\n isEvalSupported: {\n value: true,\n kind: OptionKind.API\n },\n maxImageSize: {\n value: -1,\n kind: OptionKind.API\n },\n pdfBug: {\n value: false,\n kind: OptionKind.API\n },\n standardFontDataUrl: {\n value: \"../web/standard_fonts/\",\n kind: OptionKind.API\n },\n verbosity: {\n value: 1,\n kind: OptionKind.API\n },\n workerPort: {\n value: null,\n kind: OptionKind.WORKER\n },\n workerSrc: {\n value: \"../build/pdf.worker.js\",\n kind: OptionKind.WORKER\n }\n};\n{\n defaultOptions.disablePreferences = {\n value: false,\n kind: OptionKind.VIEWER\n };\n defaultOptions.locale = {\n value: navigator.language || \"en-US\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.sandboxBundleSrc = {\n value: \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.renderer.kind += OptionKind.PREFERENCE;\n}\nconst userOptions = Object.create(null);\n\nclass AppOptions {\n constructor() {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n\n static get(name) {\n const userOption = userOptions[name];\n\n if (userOption !== undefined) {\n return userOption;\n }\n\n const defaultOption = defaultOptions[name];\n\n if (defaultOption !== undefined) {\n return defaultOption.compatibility ?? defaultOption.value;\n }\n\n return undefined;\n }\n\n static getAll(kind = null) {\n const options = Object.create(null);\n\n for (const name in defaultOptions) {\n const defaultOption = defaultOptions[name];\n\n if (kind) {\n if ((kind & defaultOption.kind) === 0) {\n continue;\n }\n\n if (kind === OptionKind.PREFERENCE) {\n const value = defaultOption.value,\n valueType = typeof value;\n\n if (valueType === \"boolean\" || valueType === \"string\" || valueType === \"number\" && Number.isInteger(value)) {\n options[name] = value;\n continue;\n }\n\n throw new Error(`Invalid type for preference: ${name}`);\n }\n }\n\n const userOption = userOptions[name];\n options[name] = userOption !== undefined ? userOption : defaultOption.compatibility ?? defaultOption.value;\n }\n\n return options;\n }\n\n static set(name, value) {\n userOptions[name] = value;\n }\n\n static setAll(options) {\n for (const name in options) {\n userOptions[name] = options[name];\n }\n }\n\n static remove(name) {\n delete userOptions[name];\n }\n\n static _hasUserOptions() {\n return Object.keys(userOptions).length > 0;\n }\n\n}\n\nexports.AppOptions = AppOptions;\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFRenderingQueue = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nconst CLEANUP_TIMEOUT = 30000;\n\nclass PDFRenderingQueue {\n constructor() {\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n\n isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n\n hasViewer() {\n return !!this.pdfViewer;\n }\n\n renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) {\n return;\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n\n getHighestPriority(visible, views, scrolledDown, preRenderExtra = false) {\n const visibleViews = visible.views,\n numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (let i = 0; i < numVisible; i++) {\n const view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n const firstId = visible.first.id,\n lastId = visible.last.id;\n\n if (lastId - firstId + 1 > numVisible) {\n const visibleIds = visible.ids;\n\n for (let i = 1, ii = lastId - firstId; i < ii; i++) {\n const holeId = scrolledDown ? firstId + i : lastId - i;\n\n if (visibleIds.has(holeId)) {\n continue;\n }\n\n const holeView = views[holeId - 1];\n\n if (!this.isViewFinished(holeView)) {\n return holeView;\n }\n }\n }\n\n let preRenderIndex = scrolledDown ? lastId : firstId - 2;\n let preRenderView = views[preRenderIndex];\n\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n\n if (preRenderExtra) {\n preRenderIndex += scrolledDown ? 1 : -1;\n preRenderView = views[preRenderIndex];\n\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n }\n\n return null;\n }\n\n isViewFinished(view) {\n return view.renderingState === _ui_utils.RenderingStates.FINISHED;\n }\n\n renderView(view) {\n switch (view.renderingState) {\n case _ui_utils.RenderingStates.FINISHED:\n return false;\n\n case _ui_utils.RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case _ui_utils.RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case _ui_utils.RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw().finally(() => {\n this.renderHighestPriority();\n }).catch(reason => {\n if (reason instanceof _pdfjsLib.RenderingCancelledException) {\n return;\n }\n\n console.error(`renderView: \"${reason}\"`);\n });\n break;\n }\n\n return true;\n }\n\n}\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextHighlighter = void 0;\n\nclass TextHighlighter {\n constructor({\n findController,\n eventBus,\n pageIndex\n }) {\n this.findController = findController;\n this.matches = [];\n this.eventBus = eventBus;\n this.pageIdx = pageIndex;\n this._onUpdateTextLayerMatches = null;\n this.textDivs = null;\n this.textContentItemsStr = null;\n this.enabled = false;\n }\n\n setTextMapping(divs, texts) {\n this.textDivs = divs;\n this.textContentItemsStr = texts;\n }\n\n enable() {\n if (!this.textDivs || !this.textContentItemsStr) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n\n if (this.enabled) {\n throw new Error(\"TextHighlighter is already enabled.\");\n }\n\n this.enabled = true;\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = evt => {\n if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n\n this._updateMatches();\n }\n\n disable() {\n if (!this.enabled) {\n return;\n }\n\n this.enabled = false;\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n\n _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n const {\n textContentItemsStr\n } = this;\n let i = 0,\n iIndex = 0;\n const end = textContentItemsStr.length - 1;\n const result = [];\n\n for (let m = 0, mm = matches.length; m < mm; m++) {\n let matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n const match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n matchIdx += matchesLength[m];\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n\n _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n const {\n findController,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n const isSelectedPage = pageIdx === findController.selected.pageIdx;\n const selectedMatchIdx = findController.selected.matchIdx;\n const highlightAll = findController.state.highlightAll;\n let prevEnd = null;\n const infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n const divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n return appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n let div = textDivs[divIdx];\n\n if (div.nodeType === Node.TEXT_NODE) {\n const span = document.createElement(\"span\");\n div.parentNode.insertBefore(span, div);\n span.appendChild(div);\n textDivs[divIdx] = span;\n div = span;\n }\n\n const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n const node = document.createTextNode(content);\n\n if (className) {\n const span = document.createElement(\"span\");\n span.className = `${className} appended`;\n span.appendChild(node);\n div.appendChild(span);\n return className.includes(\"selected\") ? span.offsetLeft : 0;\n }\n\n div.appendChild(node);\n return 0;\n }\n\n let i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (let i = i0; i < i1; i++) {\n const match = matches[i];\n const begin = match.begin;\n const end = match.end;\n const isSelected = isSelectedPage && i === selectedMatchIdx;\n const highlightSuffix = isSelected ? \" selected\" : \"\";\n let selectedLeft = 0;\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n selectedLeft,\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n\n _updateMatches() {\n if (!this.enabled) {\n return;\n }\n\n const {\n findController,\n matches,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n let clearedUntilDivIdx = -1;\n\n for (let i = 0, ii = matches.length; i < ii; i++) {\n const match = matches[i];\n const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n const div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController?.highlightMatches) {\n return;\n }\n\n const pageMatches = findController.pageMatches[pageIdx] || null;\n const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n\n}\n\nexports.TextHighlighter = TextHighlighter;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\n;\n\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nclass DownloadManager {\n constructor() {\n this._openBlobUrls = new WeakMap();\n }\n\n downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n console.error(`downloadUrl - not a valid URL: ${url}`);\n return;\n }\n\n download(url + \"#pdfjs.action=download\", filename);\n }\n\n downloadData(data, filename, contentType) {\n const blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n download(blobUrl, filename);\n }\n\n openOrDownloadData(element, data, filename) {\n const isPdfData = (0, _pdfjsLib.isPdfFile)(filename);\n const contentType = isPdfData ? \"application/pdf\" : \"\";\n\n if (isPdfData) {\n let blobUrl = this._openBlobUrls.get(element);\n\n if (!blobUrl) {\n blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n\n this._openBlobUrls.set(element, blobUrl);\n }\n\n let viewerUrl;\n viewerUrl = \"?file=\" + encodeURIComponent(blobUrl + \"#\" + filename);\n\n try {\n window.open(viewerUrl);\n return true;\n } catch (ex) {\n console.error(`openOrDownloadData: ${ex}`);\n URL.revokeObjectURL(blobUrl);\n\n this._openBlobUrls.delete(element);\n }\n }\n\n this.downloadData(data, filename, contentType);\n return false;\n }\n\n download(blob, url, filename, sourceEventType = \"download\") {\n const blobUrl = URL.createObjectURL(blob);\n download(blobUrl, filename);\n }\n\n}\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n return new Promise(function (resolve, reject) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n const eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n const timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nclass EventBus {\n constructor() {\n this._listeners = Object.create(null);\n }\n\n on(eventName, listener, options = null) {\n this._on(eventName, listener, {\n external: true,\n once: options?.once\n });\n }\n\n off(eventName, listener, options = null) {\n this._off(eventName, listener, {\n external: true,\n once: options?.once\n });\n }\n\n dispatch(eventName, data) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n let externalListeners;\n\n for (const {\n listener,\n external,\n once\n } of eventListeners.slice(0)) {\n if (once) {\n this._off(eventName, listener);\n }\n\n if (external) {\n (externalListeners ||= []).push(listener);\n continue;\n }\n\n listener(data);\n }\n\n if (externalListeners) {\n for (const listener of externalListeners) {\n listener(data);\n }\n\n externalListeners = null;\n }\n }\n\n _on(eventName, listener, options = null) {\n const eventListeners = this._listeners[eventName] ||= [];\n eventListeners.push({\n listener,\n external: options?.external === true,\n once: options?.once === true\n });\n }\n\n _off(eventName, listener, options = null) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n\n}\n\nexports.EventBus = EventBus;\n\nclass AutomationEventBus extends EventBus {\n dispatch(eventName, data) {\n throw new Error(\"Not implemented: AutomationEventBus.dispatch\");\n }\n\n}\n\nexports.AutomationEventBus = AutomationEventBus;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericL10n = void 0;\n\n__w_pdfjs_require__(19);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nconst webL10n = document.webL10n;\n\nclass GenericL10n {\n constructor(lang) {\n this._lang = lang;\n this._ready = new Promise((resolve, reject) => {\n webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), () => {\n resolve(webL10n);\n });\n });\n }\n\n async getLanguage() {\n const l10n = await this._ready;\n return l10n.getLanguage();\n }\n\n async getDirection() {\n const l10n = await this._ready;\n return l10n.getDirection();\n }\n\n async get(key, args = null, fallback = (0, _l10n_utils.getL10nFallback)(key, args)) {\n const l10n = await this._ready;\n return l10n.get(key, args, fallback);\n }\n\n async translate(element) {\n const l10n = await this._ready;\n return l10n.translate(element);\n }\n\n}\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 19 */\n/***/ (() => {\n\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function () {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function (n) {\n return 'other';\n },\n '1': function (n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function (n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function (n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function (n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function (n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function (n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function (n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function (n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function (n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function (n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function (n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function (n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function (n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function (n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function (n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function (n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function (n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function (n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function (n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function (n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function (n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function (n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function (key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function () {\n return gL10nData;\n },\n getText: function () {\n return gTextData;\n },\n getLanguage: function () {\n return gLanguage;\n },\n setLanguage: function (lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function () {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function () {\n return gReadyState;\n },\n ready: function (callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _pdf_find_utils = __w_pdfjs_require__(21);\n\nconst FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nconst FIND_TIMEOUT = 250;\nconst MATCH_SCROLL_OFFSET_TOP = -50;\nconst MATCH_SCROLL_OFFSET_LEFT = -400;\nconst CHARACTERS_TO_NORMALIZE = {\n \"\\u2010\": \"-\",\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\u00BC\": \"1/4\",\n \"\\u00BD\": \"1/2\",\n \"\\u00BE\": \"3/4\"\n};\nconst DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);\nconst DIACRITICS_EXCEPTION_STR = [...DIACRITICS_EXCEPTION.values()].map(x => String.fromCharCode(x)).join(\"\");\nconst DIACRITICS_REG_EXP = /\\p{M}+/gu;\nconst SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\\]\\\\])|(\\p{P})|(\\s+)|(\\p{M})|(\\p{L})/gu;\nconst NOT_DIACRITIC_FROM_END_REG_EXP = /([^\\p{M}])\\p{M}*$/u;\nconst NOT_DIACRITIC_FROM_START_REG_EXP = /^\\p{M}*([^\\p{M}])/u;\nlet normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(`([${replace}])|(\\\\p{M}+(?:-\\\\n)?)|(\\\\S-\\\\n)|(\\\\n)`, \"gum\");\n }\n\n const rawDiacriticsPositions = [];\n let m;\n\n while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {\n rawDiacriticsPositions.push([m[0].length, m.index]);\n }\n\n let normalized = text.normalize(\"NFD\");\n const positions = [[0, 0]];\n let k = 0;\n let shift = 0;\n let shiftOrigin = 0;\n let eol = 0;\n let hasDiacritics = false;\n normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, i) => {\n i -= shiftOrigin;\n\n if (p1) {\n const replacement = CHARACTERS_TO_NORMALIZE[match];\n const jj = replacement.length;\n\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n\n shift -= jj - 1;\n return replacement;\n }\n\n if (p2) {\n const hasTrailingDashEOL = p2.endsWith(\"\\n\");\n const len = hasTrailingDashEOL ? p2.length - 2 : p2.length;\n hasDiacritics = true;\n let jj = len;\n\n if (i + eol === rawDiacriticsPositions[k]?.[1]) {\n jj -= rawDiacriticsPositions[k][0];\n ++k;\n }\n\n for (let j = 1; j < jj + 1; j++) {\n positions.push([i - 1 - shift + j, shift - j]);\n }\n\n shift -= jj;\n shiftOrigin += jj;\n\n if (hasTrailingDashEOL) {\n i += len - 1;\n positions.push([i - shift + 1, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p2.slice(0, len);\n }\n\n return p2;\n }\n\n if (p3) {\n positions.push([i - shift + 1, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p3.charAt(0);\n }\n\n positions.push([i - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n eol += 1;\n return \" \";\n });\n positions.push([normalized.length, shift]);\n return [normalized, positions, hasDiacritics];\n}\n\nfunction getOriginalIndex(diffs, pos, len) {\n if (!diffs) {\n return [pos, len];\n }\n\n const start = pos;\n const end = pos + len;\n let i = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= start);\n\n if (diffs[i][0] > start) {\n --i;\n }\n\n let j = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= end, i);\n\n if (diffs[j][0] > end) {\n --j;\n }\n\n return [start + diffs[i][1], len + diffs[j][1] - diffs[i][1]];\n}\n\nclass PDFFindController {\n constructor({\n linkService,\n eventBus\n }) {\n this._linkService = linkService;\n this._eventBus = eventBus;\n this.#reset();\n\n eventBus._on(\"find\", this.#onFind.bind(this));\n\n eventBus._on(\"findbarclose\", this.#onFindBarClose.bind(this));\n }\n\n get highlightMatches() {\n return this._highlightMatches;\n }\n\n get pageMatches() {\n return this._pageMatches;\n }\n\n get pageMatchesLength() {\n return this._pageMatchesLength;\n }\n\n get selected() {\n return this._selected;\n }\n\n get state() {\n return this._state;\n }\n\n setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this.#reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n\n #onFind(state) {\n if (!state) {\n return;\n }\n\n const pdfDocument = this._pdfDocument;\n const {\n type\n } = state;\n\n if (this._state === null || this.#shouldDirtyMatch(state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (type !== \"highlightallchange\") {\n this.#updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n\n this.#extractText();\n const findbarClosed = !this._highlightMatches;\n const pendingTimeout = !!this._findTimeout;\n\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n\n if (!type) {\n this._findTimeout = setTimeout(() => {\n this.#nextMatch();\n this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (this._dirtyMatch) {\n this.#nextMatch();\n } else if (type === \"again\") {\n this.#nextMatch();\n\n if (findbarClosed && this._state.highlightAll) {\n this.#updateAllPages();\n }\n } else if (type === \"highlightallchange\") {\n if (pendingTimeout) {\n this.#nextMatch();\n } else {\n this._highlightMatches = true;\n }\n\n this.#updateAllPages();\n } else {\n this.#nextMatch();\n }\n });\n }\n\n scrollMatchIntoView({\n element = null,\n selectedLeft = 0,\n pageIndex = -1,\n matchIndex = -1\n }) {\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n const spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n\n #reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._pageDiffs = [];\n this._hasDiacritics = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = new Set();\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n\n get #query() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n [this._normalizedQuery] = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n\n #shouldDirtyMatch(state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (state.type) {\n case \"again\":\n const pageNumber = this._selected.pageIdx + 1;\n const linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"highlightallchange\":\n return false;\n }\n\n return true;\n }\n\n #isEntireWord(content, startIdx, length) {\n let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);\n\n if (match) {\n const first = content.charCodeAt(startIdx);\n const limit = match[1].charCodeAt(0);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);\n\n if (match) {\n const last = content.charCodeAt(startIdx + length - 1);\n const limit = match[1].charCodeAt(0);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n return true;\n }\n\n #calculateRegExpMatch(query, entireWord, pageIndex, pageContent) {\n const matches = [],\n matchesLength = [];\n const diffs = this._pageDiffs[pageIndex];\n let match;\n\n while ((match = query.exec(pageContent)) !== null) {\n if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) {\n continue;\n }\n\n const [matchPos, matchLen] = getOriginalIndex(diffs, match.index, match[0].length);\n\n if (matchLen) {\n matches.push(matchPos);\n matchesLength.push(matchLen);\n }\n }\n\n this._pageMatches[pageIndex] = matches;\n this._pageMatchesLength[pageIndex] = matchesLength;\n }\n\n #convertToRegExpString(query, hasDiacritics) {\n const {\n matchDiacritics\n } = this._state;\n let isUnicode = false;\n query = query.replace(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {\n if (p1) {\n return `[ ]*\\\\${p1}[ ]*`;\n }\n\n if (p2) {\n return `[ ]*${p2}[ ]*`;\n }\n\n if (p3) {\n return \"[ ]+\";\n }\n\n if (matchDiacritics) {\n return p4 || p5;\n }\n\n if (p4) {\n return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : \"\";\n }\n\n if (hasDiacritics) {\n isUnicode = true;\n return `${p5}\\\\p{M}*`;\n }\n\n return p5;\n });\n const trailingSpaces = \"[ ]*\";\n\n if (query.endsWith(trailingSpaces)) {\n query = query.slice(0, query.length - trailingSpaces.length);\n }\n\n if (matchDiacritics) {\n if (hasDiacritics) {\n isUnicode = true;\n query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\\\p{M}]|$)`;\n }\n }\n\n return [isUnicode, query];\n }\n\n #calculateMatch(pageIndex) {\n let query = this.#query;\n\n if (query.length === 0) {\n return;\n }\n\n const {\n caseSensitive,\n entireWord,\n phraseSearch\n } = this._state;\n const pageContent = this._pageContents[pageIndex];\n const hasDiacritics = this._hasDiacritics[pageIndex];\n let isUnicode = false;\n\n if (phraseSearch) {\n [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);\n } else {\n const match = query.match(/\\S+/g);\n\n if (match) {\n query = match.sort().reverse().map(q => {\n const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);\n isUnicode ||= isUnicodePart;\n return `(${queryPart})`;\n }).join(\"|\");\n }\n }\n\n const flags = `g${isUnicode ? \"u\" : \"\"}${caseSensitive ? \"\" : \"i\"}`;\n query = new RegExp(query, flags);\n this.#calculateRegExpMatch(query, entireWord, pageIndex, pageContent);\n\n if (this._state.highlightAll) {\n this.#updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n this.#nextPageMatch();\n }\n\n const pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n this.#updateUIResultsCount();\n }\n }\n\n #extractText() {\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n let promise = Promise.resolve();\n\n for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n const extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(() => {\n return this._pdfDocument.getPage(i + 1).then(pdfPage => {\n return pdfPage.getTextContent();\n }).then(textContent => {\n const strBuf = [];\n\n for (const textItem of textContent.items) {\n strBuf.push(textItem.str);\n\n if (textItem.hasEOL) {\n strBuf.push(\"\\n\");\n }\n }\n\n [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve();\n }, reason => {\n console.error(`Unable to get text content for page ${i + 1}`, reason);\n this._pageContents[i] = \"\";\n this._pageDiffs[i] = null;\n this._hasDiacritics[i] = false;\n extractTextCapability.resolve();\n });\n });\n }\n }\n\n #updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n\n #updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n\n #nextMatch() {\n const previous = this._state.findPrevious;\n const currentPageIndex = this._linkService.page - 1;\n const numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n this.#updateAllPages();\n\n for (let i = 0; i < numPages; i++) {\n if (this._pendingFindMatches.has(i)) {\n continue;\n }\n\n this._pendingFindMatches.add(i);\n\n this._extractTextPromises[i].then(() => {\n this._pendingFindMatches.delete(i);\n\n this.#calculateMatch(i);\n });\n }\n }\n\n if (this.#query === \"\") {\n this.#updateUIState(FindState.FOUND);\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n const offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n const numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.#updateMatch(true);\n return;\n }\n\n this.#advanceOffsetPage(previous);\n }\n\n this.#nextPageMatch();\n }\n\n #matchesReady(matches) {\n const offset = this._offset;\n const numMatches = matches.length;\n const previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.#updateMatch(true);\n return true;\n }\n\n this.#advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this.#updateMatch(false);\n return true;\n }\n }\n\n return false;\n }\n\n #nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n let matches = null;\n\n do {\n const pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this.#matchesReady(matches));\n }\n\n #advanceOffsetPage(previous) {\n const offset = this._offset;\n const numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n\n #updateMatch(found = false) {\n let state = FindState.NOT_FOUND;\n const wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n const previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this.#updatePage(previousPage);\n }\n }\n\n this.#updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n this.#updatePage(this._selected.pageIdx);\n }\n }\n\n #onFindBarClose(evt) {\n const pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n\n if (this._resumePageIdx) {\n this._resumePageIdx = null;\n this._dirtyMatch = true;\n }\n\n this.#updateUIState(FindState.FOUND);\n this._highlightMatches = false;\n this.#updateAllPages();\n });\n }\n\n #requestMatchesCount() {\n const {\n pageIdx,\n matchIdx\n } = this._selected;\n let current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (let i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i]?.length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current,\n total\n };\n }\n\n #updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this.#requestMatchesCount()\n });\n }\n\n #updateUIState(state, previous = false) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state,\n previous,\n matchesCount: this.#requestMatchesCount(),\n rawQuery: this._state?.query ?? null\n });\n }\n\n}\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CharacterType = void 0;\nexports.getCharacterType = getCharacterType;\nconst CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFHistory = void 0;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.isDestHashesEqual = isDestHashesEqual;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _event_utils = __w_pdfjs_require__(17);\n\nconst HASH_CHANGE_TIMEOUT = 1000;\nconst POSITION_UPDATED_THRESHOLD = 50;\nconst UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nclass PDFHistory {\n constructor({\n linkService,\n eventBus\n }) {\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n\n this.eventBus._on(\"pagesinit\", () => {\n this._isPagesLoaded = false;\n\n this.eventBus._on(\"pagesloaded\", evt => {\n this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\n });\n }\n\n initialize({\n fingerprint,\n resetHistory = false,\n updateUrl = false\n }) {\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n const reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n const state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash(true);\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n\n return;\n }\n\n const destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = `page=${destination.page}`;\n }\n }\n\n reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n\n push({\n namedDest = null,\n explicitDest,\n pageNumber\n }) {\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + `\"${namedDest}\" is not a valid namedDest parameter.`);\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + `\"${explicitDest}\" is not a valid explicitDest parameter.`);\n return;\n } else if (!this._isValidPage(pageNumber)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n }\n\n const hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n let forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n\n pushPage(pageNumber) {\n if (!this._initialized) {\n return;\n }\n\n if (!this._isValidPage(pageNumber)) {\n console.error(`PDFHistory.pushPage: \"${pageNumber}\" is not a valid page number.`);\n return;\n }\n\n if (this._destination?.page === pageNumber) {\n return;\n }\n\n if (this._popStateInProgress) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: null,\n hash: `page=${pageNumber}`,\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n\n pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n\n back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n const state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n\n forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n const state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n\n get popStateInProgress() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n\n get initialBookmark() {\n return this._initialized ? this._initialBookmark : null;\n }\n\n get initialRotation() {\n return this._initialized ? this._initialRotation : null;\n }\n\n _pushOrReplaceState(destination, forceReplace = false) {\n const shouldReplace = forceReplace || !this._destination;\n const newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n let newUrl;\n\n if (this._updateUrl && destination?.hash) {\n const baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = `${baseUrl}#${destination.hash}`;\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n\n _tryPushCurrentPosition(temporary = false) {\n if (!this._position) {\n return;\n }\n\n let position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n let forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest !== undefined || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n\n _isValidPage(val) {\n return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;\n }\n\n _isValidState(state, checkReload = false) {\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n const [perfEntry] = performance.getEntriesByType(\"navigation\");\n\n if (perfEntry?.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || typeof state.destination !== \"object\") {\n return false;\n }\n\n return true;\n }\n\n _updateInternalState(destination, uid, removeTemporary = false) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination?.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, uid);\n this._numPositionUpdates = 0;\n }\n\n _parseCurrentHash(checkNameddest = false) {\n const hash = unescape(getCurrentHash()).substring(1);\n const params = (0, _ui_utils.parseQueryString)(hash);\n const nameddest = params.get(\"nameddest\") || \"\";\n let page = params.get(\"page\") | 0;\n\n if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash,\n page,\n rotation: this.linkService.rotation\n };\n }\n\n _updateViewarea({\n location\n }) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(() => {\n if (!this._popStateInProgress) {\n this._tryPushCurrentPosition(true);\n }\n\n this._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n\n _popState({\n state\n }) {\n const newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash();\n\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _event_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(() => {\n this._blockHashChange--;\n });\n }\n\n const destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.goToDestination(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n\n _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n\n _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n\n _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n\n}\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n const nameddest = (0, _ui_utils.parseQueryString)(destHash).get(\"nameddest\");\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (typeof first !== typeof second) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && typeof first === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (const key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (let i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFScriptingManager = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nclass PDFScriptingManager {\n constructor({\n eventBus,\n sandboxBundleSrc = null,\n scriptingFactory = null,\n docPropertiesLookup = null\n }) {\n this._pdfDocument = null;\n this._pdfViewer = null;\n this._closeCapability = null;\n this._destroyCapability = null;\n this._scripting = null;\n this._mouseState = Object.create(null);\n this._ready = false;\n this._eventBus = eventBus;\n this._sandboxBundleSrc = sandboxBundleSrc;\n this._scriptingFactory = scriptingFactory;\n this._docPropertiesLookup = docPropertiesLookup;\n\n if (!this._scriptingFactory) {\n window.addEventListener(\"updatefromsandbox\", event => {\n this._eventBus.dispatch(\"updatefromsandbox\", {\n source: window,\n detail: event.detail\n });\n });\n }\n }\n\n setViewer(pdfViewer) {\n this._pdfViewer = pdfViewer;\n }\n\n async setDocument(pdfDocument) {\n if (this._pdfDocument) {\n await this._destroyScripting();\n }\n\n this._pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);\n\n if (!objects && !docActions) {\n await this._destroyScripting();\n return;\n }\n\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n\n try {\n this._scripting = this._createScripting();\n } catch (error) {\n console.error(`PDFScriptingManager.setDocument: \"${error?.message}\".`);\n await this._destroyScripting();\n return;\n }\n\n this._internalEvents.set(\"updatefromsandbox\", event => {\n if (event?.source !== window) {\n return;\n }\n\n this._updateFromSandbox(event.detail);\n });\n\n this._internalEvents.set(\"dispatcheventinsandbox\", event => {\n this._scripting?.dispatchEventInSandbox(event.detail);\n });\n\n this._internalEvents.set(\"pagechanging\", ({\n pageNumber,\n previous\n }) => {\n if (pageNumber === previous) {\n return;\n }\n\n this._dispatchPageClose(previous);\n\n this._dispatchPageOpen(pageNumber);\n });\n\n this._internalEvents.set(\"pagerendered\", ({\n pageNumber\n }) => {\n if (!this._pageOpenPending.has(pageNumber)) {\n return;\n }\n\n if (pageNumber !== this._pdfViewer.currentPageNumber) {\n return;\n }\n\n this._dispatchPageOpen(pageNumber);\n });\n\n this._internalEvents.set(\"pagesdestroy\", async event => {\n await this._dispatchPageClose(this._pdfViewer.currentPageNumber);\n await this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillClose\"\n });\n this._closeCapability?.resolve();\n });\n\n this._domEvents.set(\"mousedown\", event => {\n this._mouseState.isDown = true;\n });\n\n this._domEvents.set(\"mouseup\", event => {\n this._mouseState.isDown = false;\n });\n\n for (const [name, listener] of this._internalEvents) {\n this._eventBus._on(name, listener);\n }\n\n for (const [name, listener] of this._domEvents) {\n window.addEventListener(name, listener, true);\n }\n\n try {\n const docProperties = await this._getDocProperties();\n\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n\n await this._scripting.createSandbox({\n objects,\n calculationOrder,\n appInfo: {\n platform: navigator.platform,\n language: navigator.language\n },\n docInfo: { ...docProperties,\n actions: docActions\n }\n });\n\n this._eventBus.dispatch(\"sandboxcreated\", {\n source: this\n });\n } catch (error) {\n console.error(`PDFScriptingManager.setDocument: \"${error?.message}\".`);\n await this._destroyScripting();\n return;\n }\n\n await this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"Open\"\n });\n await this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true);\n Promise.resolve().then(() => {\n if (pdfDocument === this._pdfDocument) {\n this._ready = true;\n }\n });\n }\n\n async dispatchWillSave(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillSave\"\n });\n }\n\n async dispatchDidSave(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidSave\"\n });\n }\n\n async dispatchWillPrint(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillPrint\"\n });\n }\n\n async dispatchDidPrint(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidPrint\"\n });\n }\n\n get mouseState() {\n return this._mouseState;\n }\n\n get destroyPromise() {\n return this._destroyCapability?.promise || null;\n }\n\n get ready() {\n return this._ready;\n }\n\n get _internalEvents() {\n return (0, _pdfjsLib.shadow)(this, \"_internalEvents\", new Map());\n }\n\n get _domEvents() {\n return (0, _pdfjsLib.shadow)(this, \"_domEvents\", new Map());\n }\n\n get _pageOpenPending() {\n return (0, _pdfjsLib.shadow)(this, \"_pageOpenPending\", new Set());\n }\n\n get _visitedPages() {\n return (0, _pdfjsLib.shadow)(this, \"_visitedPages\", new Map());\n }\n\n async _updateFromSandbox(detail) {\n const isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode;\n const {\n id,\n siblings,\n command,\n value\n } = detail;\n\n if (!id) {\n switch (command) {\n case \"clear\":\n console.clear();\n break;\n\n case \"error\":\n console.error(value);\n break;\n\n case \"layout\":\n if (isInPresentationMode) {\n return;\n }\n\n const modes = (0, _ui_utils.apiPageLayoutToViewerModes)(value);\n this._pdfViewer.spreadMode = modes.spreadMode;\n break;\n\n case \"page-num\":\n this._pdfViewer.currentPageNumber = value + 1;\n break;\n\n case \"print\":\n await this._pdfViewer.pagesPromise;\n\n this._eventBus.dispatch(\"print\", {\n source: this\n });\n\n break;\n\n case \"println\":\n console.log(value);\n break;\n\n case \"zoom\":\n if (isInPresentationMode) {\n return;\n }\n\n this._pdfViewer.currentScaleValue = value;\n break;\n\n case \"SaveAs\":\n this._eventBus.dispatch(\"save\", {\n source: this\n });\n\n break;\n\n case \"FirstPage\":\n this._pdfViewer.currentPageNumber = 1;\n break;\n\n case \"LastPage\":\n this._pdfViewer.currentPageNumber = this._pdfViewer.pagesCount;\n break;\n\n case \"NextPage\":\n this._pdfViewer.nextPage();\n\n break;\n\n case \"PrevPage\":\n this._pdfViewer.previousPage();\n\n break;\n\n case \"ZoomViewIn\":\n if (isInPresentationMode) {\n return;\n }\n\n this._pdfViewer.increaseScale();\n\n break;\n\n case \"ZoomViewOut\":\n if (isInPresentationMode) {\n return;\n }\n\n this._pdfViewer.decreaseScale();\n\n break;\n }\n\n return;\n }\n\n if (isInPresentationMode) {\n if (detail.focus) {\n return;\n }\n }\n\n delete detail.id;\n delete detail.siblings;\n const ids = siblings ? [id, ...siblings] : [id];\n\n for (const elementId of ids) {\n const element = document.getElementById(elementId);\n\n if (element) {\n element.dispatchEvent(new CustomEvent(\"updatefromsandbox\", {\n detail\n }));\n } else {\n this._pdfDocument?.annotationStorage.setValue(elementId, detail);\n }\n }\n }\n\n async _dispatchPageOpen(pageNumber, initialize = false) {\n const pdfDocument = this._pdfDocument,\n visitedPages = this._visitedPages;\n\n if (initialize) {\n this._closeCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n\n if (!this._closeCapability) {\n return;\n }\n\n const pageView = this._pdfViewer.getPageView(pageNumber - 1);\n\n if (pageView?.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n this._pageOpenPending.add(pageNumber);\n\n return;\n }\n\n this._pageOpenPending.delete(pageNumber);\n\n const actionsPromise = (async () => {\n const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null);\n\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n\n await this._scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageOpen\",\n pageNumber,\n actions\n });\n })();\n\n visitedPages.set(pageNumber, actionsPromise);\n }\n\n async _dispatchPageClose(pageNumber) {\n const pdfDocument = this._pdfDocument,\n visitedPages = this._visitedPages;\n\n if (!this._closeCapability) {\n return;\n }\n\n if (this._pageOpenPending.has(pageNumber)) {\n return;\n }\n\n const actionsPromise = visitedPages.get(pageNumber);\n\n if (!actionsPromise) {\n return;\n }\n\n visitedPages.set(pageNumber, null);\n await actionsPromise;\n\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n\n await this._scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageClose\",\n pageNumber\n });\n }\n\n async _getDocProperties() {\n if (this._docPropertiesLookup) {\n return this._docPropertiesLookup(this._pdfDocument);\n }\n\n const {\n docPropertiesLookup\n } = __w_pdfjs_require__(24);\n\n return docPropertiesLookup(this._pdfDocument);\n }\n\n _createScripting() {\n this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)();\n\n if (this._scripting) {\n throw new Error(\"_createScripting: Scripting already exists.\");\n }\n\n if (this._scriptingFactory) {\n return this._scriptingFactory.createScripting({\n sandboxBundleSrc: this._sandboxBundleSrc\n });\n }\n\n const {\n GenericScripting\n } = __w_pdfjs_require__(24);\n\n return new GenericScripting(this._sandboxBundleSrc);\n }\n\n async _destroyScripting() {\n if (!this._scripting) {\n this._pdfDocument = null;\n this._destroyCapability?.resolve();\n return;\n }\n\n if (this._closeCapability) {\n await Promise.race([this._closeCapability.promise, new Promise(resolve => {\n setTimeout(resolve, 1000);\n })]).catch(reason => {});\n this._closeCapability = null;\n }\n\n this._pdfDocument = null;\n\n try {\n await this._scripting.destroySandbox();\n } catch (ex) {}\n\n for (const [name, listener] of this._internalEvents) {\n this._eventBus._off(name, listener);\n }\n\n this._internalEvents.clear();\n\n for (const [name, listener] of this._domEvents) {\n window.removeEventListener(name, listener, true);\n }\n\n this._domEvents.clear();\n\n this._pageOpenPending.clear();\n\n this._visitedPages.clear();\n\n this._scripting = null;\n delete this._mouseState.isDown;\n this._ready = false;\n this._destroyCapability?.resolve();\n }\n\n}\n\nexports.PDFScriptingManager = PDFScriptingManager;\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericScripting = void 0;\nexports.docPropertiesLookup = docPropertiesLookup;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nasync function docPropertiesLookup(pdfDocument) {\n const url = \"\",\n baseUrl = url.split(\"#\")[0];\n let {\n info,\n metadata,\n contentDispositionFilename,\n contentLength\n } = await pdfDocument.getMetadata();\n\n if (!contentLength) {\n const {\n length\n } = await pdfDocument.getDownloadInfo();\n contentLength = length;\n }\n\n return { ...info,\n baseURL: baseUrl,\n filesize: contentLength,\n filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url),\n metadata: metadata?.getRaw(),\n authors: metadata?.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url\n };\n}\n\nclass GenericScripting {\n constructor(sandboxBundleSrc) {\n this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(() => {\n return window.pdfjsSandbox.QuickJSSandbox();\n });\n }\n\n async createSandbox(data) {\n const sandbox = await this._ready;\n sandbox.create(data);\n }\n\n async dispatchEventInSandbox(event) {\n const sandbox = await this._ready;\n setTimeout(() => sandbox.dispatchEvent(event), 0);\n }\n\n async destroySandbox() {\n const sandbox = await this._ready;\n sandbox.nukeSandbox();\n }\n\n}\n\nexports.GenericScripting = GenericScripting;\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", ({\n enumerable: true,\n get: function () {\n return _default_factory.DefaultAnnotationLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DefaultStructTreeLayerFactory\", ({\n enumerable: true,\n get: function () {\n return _default_factory.DefaultStructTreeLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", ({\n enumerable: true,\n get: function () {\n return _default_factory.DefaultTextLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DefaultXfaLayerFactory\", ({\n enumerable: true,\n get: function () {\n return _default_factory.DefaultXfaLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DownloadManager\", ({\n enumerable: true,\n get: function () {\n return _download_manager.DownloadManager;\n }\n}));\nObject.defineProperty(exports, \"EventBus\", ({\n enumerable: true,\n get: function () {\n return _event_utils.EventBus;\n }\n}));\nObject.defineProperty(exports, \"GenericL10n\", ({\n enumerable: true,\n get: function () {\n return _genericl10n.GenericL10n;\n }\n}));\nObject.defineProperty(exports, \"LinkTarget\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.LinkTarget;\n }\n}));\nObject.defineProperty(exports, \"NullL10n\", ({\n enumerable: true,\n get: function () {\n return _l10n_utils.NullL10n;\n }\n}));\nObject.defineProperty(exports, \"PDFFindController\", ({\n enumerable: true,\n get: function () {\n return _pdf_find_controller.PDFFindController;\n }\n}));\nObject.defineProperty(exports, \"PDFHistory\", ({\n enumerable: true,\n get: function () {\n return _pdf_history.PDFHistory;\n }\n}));\nObject.defineProperty(exports, \"PDFLinkService\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.PDFLinkService;\n }\n}));\nObject.defineProperty(exports, \"PDFPageView\", ({\n enumerable: true,\n get: function () {\n return _pdf_page_view.PDFPageView;\n }\n}));\nObject.defineProperty(exports, \"PDFScriptingManager\", ({\n enumerable: true,\n get: function () {\n return _pdf_scripting_manager.PDFScriptingManager;\n }\n}));\nObject.defineProperty(exports, \"PDFSinglePageViewer\", ({\n enumerable: true,\n get: function () {\n return _pdf_viewer.PDFSinglePageViewer;\n }\n}));\nObject.defineProperty(exports, \"PDFViewer\", ({\n enumerable: true,\n get: function () {\n return _pdf_viewer.PDFViewer;\n }\n}));\nObject.defineProperty(exports, \"ProgressBar\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.ProgressBar;\n }\n}));\nObject.defineProperty(exports, \"SimpleLinkService\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.SimpleLinkService;\n }\n}));\nObject.defineProperty(exports, \"StructTreeLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _struct_tree_layer_builder.StructTreeLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"TextLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _text_layer_builder.TextLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"XfaLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer_builder.XfaLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"parseQueryString\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.parseQueryString;\n }\n}));\n\nvar _default_factory = __w_pdfjs_require__(1);\n\nvar _pdf_link_service = __w_pdfjs_require__(5);\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _pdf_viewer = __w_pdfjs_require__(10);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(2);\n\nvar _download_manager = __w_pdfjs_require__(16);\n\nvar _event_utils = __w_pdfjs_require__(17);\n\nvar _genericl10n = __w_pdfjs_require__(18);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nvar _pdf_find_controller = __w_pdfjs_require__(20);\n\nvar _pdf_history = __w_pdfjs_require__(22);\n\nvar _pdf_page_view = __w_pdfjs_require__(12);\n\nvar _pdf_scripting_manager = __w_pdfjs_require__(23);\n\nvar _struct_tree_layer_builder = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _xfa_layer_builder = __w_pdfjs_require__(9);\n\nconst pdfjsVersion = '2.14.305';\nconst pdfjsBuild = 'eaaa8b4ad';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n","import { Subject } from './Subject';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next((this._value = value));\n }\n}\n","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n this._subscribe(subscriber)\n :\n this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nimport { createObject } from '../util/createObject';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function combineLatest(...args) {\n const scheduler = popScheduler(args);\n const resultSelector = popResultSelector(args);\n const { args: observables, keys } = argsArgArrayOrObject(args);\n if (observables.length === 0) {\n return from([], scheduler);\n }\n const result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n (values) => createObject(keys, values)\n :\n identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\nexport function combineLatestInit(observables, scheduler, valueTransform = identity) {\n return (subscriber) => {\n maybeSchedule(scheduler, () => {\n const { length } = observables;\n const values = new Array(length);\n let active = length;\n let remainingFirstValues = length;\n for (let i = 0; i < length; i++) {\n maybeSchedule(scheduler, () => {\n const source = from(observables[i], scheduler);\n let hasFirstValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, () => {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n }\n }, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat(...args) {\n return concatAll()(from(args, popScheduler(args)));\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\nexport function defer(observableFactory) {\n return new Observable((subscriber) => {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, (value) => executeSchedule(subscriber, scheduler, () => subscriber.next(value), delay), () => executeSchedule(subscriber, scheduler, () => subscriber.complete(), delay), (err) => executeSchedule(subscriber, scheduler, () => subscriber.error(err), delay)));\n });\n}\n","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));\n });\n}\n","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable((subscriber) => {\n executeSchedule(subscriber, scheduler, () => {\n const iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, () => {\n iterator.next().then((result) => {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable((subscriber) => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable((subscriber) => {\n let iterator;\n executeSchedule(subscriber, scheduler, () => {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, () => {\n let value;\n let done;\n try {\n ({ value, done } = iterator.next());\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nconst nodeEventEmitterMethods = ['addListener', 'removeListener'];\nconst eventTargetMethods = ['addEventListener', 'removeEventListener'];\nconst jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n const [add, remove] = isEventTarget(target)\n ? eventTargetMethods.map((methodName) => (handler) => target[methodName](eventName, handler, options))\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap((subTarget) => fromEvent(subTarget, eventName, options))(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable((subscriber) => {\n const handler = (...args) => subscriber.next(1 < args.length ? args : args[0]);\n add(handler);\n return () => remove(handler);\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return (methodName) => (handler) => target[methodName](eventName, handler);\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable((subscriber) => {\n for (const value of iterable) {\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge(...args) {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of(...args) {\n const scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from '../util/isFunction';\nexport function throwError(errorOrErrorFactory, scheduler) {\n const errorFactory = isFunction(errorOrErrorFactory) ? errorOrErrorFactory : () => errorOrErrorFactory;\n const init = (subscriber) => subscriber.error(errorFactory());\n return new Observable(scheduler ? (subscriber) => scheduler.schedule(init, 0, subscriber) : init);\n}\n","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime = 0, intervalOrScheduler, scheduler = asyncScheduler) {\n let intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable((subscriber) => {\n let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n let n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { audit } from './audit';\nimport { timer } from '../observable/timer';\nexport function auditTime(duration, scheduler = asyncScheduler) {\n return audit(() => timer(duration, scheduler));\n}\n","import { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function audit(durationSelector) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let lastValue = null;\n let durationSubscriber = null;\n let isComplete = false;\n const endDuration = () => {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n durationSubscriber = null;\n if (hasValue) {\n hasValue = false;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n isComplete && subscriber.complete();\n };\n const cleanupDuration = () => {\n durationSubscriber = null;\n isComplete && subscriber.complete();\n };\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n lastValue = value;\n if (!durationSubscriber) {\n innerFrom(durationSelector(value)).subscribe((durationSubscriber = createOperatorSubscriber(subscriber, endDuration, cleanupDuration)));\n }\n }, () => {\n isComplete = true;\n (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();\n }));\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate((source, subscriber) => {\n let innerSub = null;\n let syncUnsub = false;\n let handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n","import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function debounceTime(dueTime, scheduler = asyncScheduler) {\n return operate((source, subscriber) => {\n let activeTask = null;\n let lastValue = null;\n let lastTime = null;\n const emit = () => {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n const targetTime = lastTime + dueTime;\n const now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, () => {\n emit();\n subscriber.complete();\n }, undefined, () => {\n lastValue = activeTask = null;\n }));\n });\n}\n","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector = identity) {\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate((source, subscriber) => {\n let previousKey;\n let first = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}\n","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate((source, subscriber) => {\n try {\n source.subscribe(subscriber);\n }\n finally {\n subscriber.add(callback);\n }\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n","import { map } from './map';\nexport function mapTo(value) {\n return map(() => value);\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Infinity) {\n return mergeMap(identity, concurrent);\n}\n","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent = Infinity) {\n if (isFunction(resultSelector)) {\n return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(innerFrom(project(a, i))), concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n const buffer = [];\n let active = 0;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));\n const doInnerSub = (value) => {\n expand && subscriber.next(value);\n active++;\n let innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, (innerValue) => {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, () => {\n innerComplete = true;\n }, undefined, () => {\n if (innerComplete) {\n try {\n active--;\n while (buffer.length && active < concurrent) {\n const bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, () => doInnerSub(bufferedValue));\n }\n else {\n doInnerSub(bufferedValue);\n }\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, () => {\n isComplete = true;\n checkComplete();\n }));\n return () => {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options = {}) {\n const { connector = () => new Subject(), resetOnError = true, resetOnComplete = true, resetOnRefCountZero = true } = options;\n return (wrapperSource) => {\n let connection;\n let resetConnection;\n let subject;\n let refCount = 0;\n let hasCompleted = false;\n let hasErrored = false;\n const cancelReset = () => {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n const reset = () => {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n const resetAndUnsubscribe = () => {\n const conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate((source, subscriber) => {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n const dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(() => {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: (value) => dest.next(value),\n error: (err) => {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: () => {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on, ...args) {\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n const onSubscriber = new SafeSubscriber({\n next: () => {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return on(...args).subscribe(onSubscriber);\n}\n","import { filter } from './filter';\nexport function skip(count) {\n return filter((_, index) => count <= index);\n}\n","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith(...values) {\n const scheduler = popScheduler(values);\n return operate((source, subscriber) => {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate((source, subscriber) => {\n let innerSubscriber = null;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n let innerIndex = 0;\n const outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), () => {\n innerSubscriber = null;\n checkComplete();\n })));\n }, () => {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n () => EMPTY\n : operate((source, subscriber) => {\n let seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { noop } from '../util/noop';\nexport function takeUntil(notifier) {\n return operate((source, subscriber) => {\n innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, () => subscriber.complete(), noop));\n !subscriber.closed && source.subscribe(subscriber);\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const result = predicate(value, index++);\n (result || inclusive) && subscriber.next(value);\n !result && subscriber.complete();\n }));\n });\n}\n","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n const tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error, complete }\n : observerOrNext;\n return tapObserver\n ? operate((source, subscriber) => {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n let isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, () => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, (err) => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, () => {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport const TimeoutError = createErrorClass((_super) => function TimeoutErrorImpl(info = null) {\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n});\nexport function timeout(config, schedulerArg) {\n const { first, each, with: _with = timeoutErrorFactory, scheduler = schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler, meta = null, } = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config);\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate((source, subscriber) => {\n let originalSourceSubscription;\n let timerSubscription;\n let lastValue = null;\n let seen = 0;\n const startTimer = (delay) => {\n timerSubscription = executeSchedule(subscriber, scheduler, () => {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta,\n lastValue,\n seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, () => {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n","export const intervalProvider = {\n setInterval(handler, timeout, ...args) {\n const { delegate } = intervalProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n","import { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n var _a;\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class Scheduler {\n constructor(schedulerActionCtor, now = Scheduler.now) {\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\nScheduler.now = dateTimestampProvider.now;\n","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, now);\n this.actions = [];\n this._active = false;\n }\n flush(action) {\n const { actions } = this;\n if (this._active) {\n actions.push(action);\n return;\n }\n let error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { Subscription } from '../Subscription';\nexport const animationFrameProvider = {\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel === null || cancel === void 0 ? void 0 : cancel(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n","import { AsyncAction } from './AsyncAction';\nimport { animationFrameProvider } from './animationFrameProvider';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n var _a;\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n const { actions } = scheduler;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n animationFrameProvider.cancelAnimationFrame(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AnimationFrameScheduler extends AsyncScheduler {\n flush(action) {\n this._active = true;\n const flushId = this._scheduled;\n this._scheduled = undefined;\n const { actions } = this;\n let error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport const animationFrame = animationFrameScheduler;\n","let nextHandle = 1;\nlet resolved;\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n },\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n","import { Immediate } from '../util/Immediate';\nconst { setImmediate, clearImmediate } = Immediate;\nexport const immediateProvider = {\n setImmediate(...args) {\n const { delegate } = immediateProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate)(...args);\n },\n clearImmediate(handle) {\n const { delegate } = immediateProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);\n },\n delegate: undefined,\n};\n","import { AsyncAction } from './AsyncAction';\nimport { immediateProvider } from './immediateProvider';\nexport class AsapAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n var _a;\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n const { actions } = scheduler;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n immediateProvider.clearImmediate(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AsapScheduler extends AsyncScheduler {\n flush(action) {\n this._active = true;\n const flushId = this._scheduled;\n this._scheduled = undefined;\n const { actions } = this;\n let error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport const asapScheduler = new AsapScheduler(AsapAction);\nexport const asap = asapScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n","export const dateTimestampProvider = {\n now() {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\n","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n","import { createErrorClass } from './createErrorClass';\nexport const EmptyError = createErrorClass((_super) => function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n});\n","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n","const { isArray } = Array;\nconst { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (isArray(first)) {\n return { args: first, keys: null };\n }\n if (isPOJO(first)) {\n const keys = getKeys(first);\n return {\n args: keys.map((key) => first[key]),\n keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n","export function createObject(keys, values) {\n return keys.reduce((result, key, i) => ((result[key] = values[i]), result), {});\n}\n","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n","export function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {\n const scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n","export function identity(x) {\n return x;\n}\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n","import { __asyncGenerator, __await } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = yield __await(reader.read());\n if (done) {\n return yield __await(void 0);\n }\n yield yield __await(value);\n }\n }\n finally {\n reader.releaseLock();\n }\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n","import { map } from \"../operators/map\";\nconst { isArray } = Array;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn(...args) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(args => callOrApply(fn, args));\n}\n","export function noop() { }\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * @license Angular v14.3.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the [AnimationBuilder.build](api/animations/AnimationBuilder#build)()
method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)()
\n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
http://example.com#/foo
,\n * and `PathLocationStrategy` produces\n * http://example.com/foo
as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]\n }] });\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you may provide a {@link APP_BASE_HREF}\n * or add a `Today is {{today | date}}
\n *Or if you prefer, {{today | date:'fullDate'}}
\n *The time is {{today | date:'h:mm a z'}}
\n *{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\nPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: PercentPipe, isStandalone: true, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PercentPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'percent',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n let currency = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n }\n else {\n currency = display;\n }\n }\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\nCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });\nCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: CurrencyPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'currency',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }]; } });\nfunction isValue(value) {\n return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *