{"version":3,"sources":["webpack:///./src/components/visor/PdfViewer.vue?ea49","webpack:///src/components/visor/PdfViewer.vue","webpack:///./src/components/visor/PdfViewer.vue?0c4b","webpack:///./src/components/visor/PdfViewer.vue","webpack:///./src/mixins/fileViewerMixin.js","webpack:///./src/components/visor/FViewerDialog.vue?0ee4","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?97dd","webpack:///./src/components/visor/FViewer.vue?5ad4","webpack:///./src/components/visor/PdfViewerApp.vue?21a0","webpack:///node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?66bd","webpack:///./node_modules/vue-pdf/src/componentFactory.js","webpack:///node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue?04aa","webpack:///src/components/visor/PdfViewerApp.vue","webpack:///./src/components/visor/PdfViewerApp.vue?7d4a","webpack:///./src/components/visor/PdfViewerApp.vue","webpack:///./src/components/visor/VideoViewer.vue?e9c4","webpack:///src/components/visor/VideoViewer.vue","webpack:///./src/components/visor/VideoViewer.vue?311b","webpack:///./src/components/visor/VideoViewer.vue","webpack:///src/components/visor/FViewer.vue","webpack:///./src/components/visor/FViewer.vue?bea6","webpack:///./src/components/visor/FViewer.vue","webpack:///src/components/visor/FViewerDialog.vue","webpack:///./src/components/visor/FViewerDialog.vue?cc22","webpack:///./src/components/visor/FViewerDialog.vue","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.js","webpack:///./src/mixins/viewerMixin.js","webpack:///./src/components/visor/ImgViewer.vue?ada3","webpack:///src/components/visor/ImgViewer.vue","webpack:///./src/components/visor/ImgViewer.vue?4dd3","webpack:///./src/components/visor/ImgViewer.vue","webpack:///./node_modules/vue-dplayer/dist/vue-dplayer.js","webpack:///./node_modules/vue-pdf/src/pdfjsWrapper.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?7795","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/pdfjs-dist/es5/web/pdf_viewer.js","webpack:///./node_modules/vue-pdf/src/annotationLayer.css?b7d6"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","totalDescarga","model","value","callback","$$v","progresoDescarga","expression","_v","_s","_f","_e","on","$event","visualizacionRequest","abort","archivoBlobUrl","staticRenderFns","name","mixins","component","VBtn","VIcon","VProgressCircular","props","fileUrl","type","String","required","data","cargandoPrevisualizacion","methods","descargarArchivo","self","$http","get","responseType","downloadProgress","evt","lengthComputable","loaded","total","before","req","then","r","blob","URL","createObjectURL","err","statusCode","$emit","watch","val","startsWith","mounted","showFile","onClose","nombreArchivo","descargarDocumento","ref","descargando","tipo","staticStyle","$vuetify","breakpoint","mobile","mediaType","domProps","_l","i","key","initial","default","size","width","height","reset","expand","shrink","update","deep","handler","style","create","scroll","beforeDestroy","removeOnresizeEvent","bind","createLoadingTask","pdfjsWrapper","PDFJSWrapper","h","class","resize","src","Object","Uint8Array","page","Number","rotate","pdf","loadDocument","loadPage","renderPage","$el","parentNode","$refs","canvas","offsetWidth","resolutionScale","getResolutionScale","print","dpi","pageList","printPage","annotationLayer","$on","destroyed","destroy","PDFJS","components","numPages","directives","rawName","options","player","video","url","pic","autoplay","setTimeout","thumbnails","PdfViewerApp","PdfViewer","ImgViewer","VideoViewer","regex","tipos","extension","computed","VContainer","VListItemAvatar","VListItemContent","VList","VListItemTitle","VSheet","FViewer","progress","split","find","join","anchor","VCard","VDialog","VSnackbar","VSpacer","VToolbar","VToolbarTitle","module","exports","Worker","root","factory","modules","installedModules","__w_pdfjs_require__","moduleId","l","call","m","c","d","getter","o","defineProperty","enumerable","Symbol","toStringTag","t","mode","__esModule","ns","n","object","property","prototype","hasOwnProperty","p","s","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","createPromiseCapability","createValidAbsoluteUrl","InvalidPDFException","MissingPDFException","OPS","PasswordResponses","PermissionFlag","removeNullCharacters","shadow","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","AnnotationLayer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","renderTextLayer","_svg","SVGGraphics","_require","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","deprecated","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","BaseCMapReaderFactory","DOMCanvasFactory","BaseCanvasFactory","DEFAULT_LINK_REL","PageViewport","_regenerator","_interopRequireDefault","obj","_createForOfIteratorHelper","allowArrayLike","it","iterator","Array","isArray","_unsupportedIterableToArray","length","F","done","e","f","TypeError","normalCompletion","didErr","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","from","test","arr","len","arr2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","_asyncToGenerator","fn","args","arguments","apply","undefined","_typeof","_inherits","subClass","superClass","writable","configurable","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Date","getPrototypeOf","_classCallCheck","instance","Constructor","_defineProperties","target","descriptor","_createClass","protoProps","staticProps","SVG_NS","unreachable","canvasAndContext","Error","context","_BaseCanvasFactory","_super","_this","_ref","_ref$ownerDocument","ownerDocument","globalThis","document","_document","createElement","getContext","_ref2","_ref2$baseUrl","baseUrl","_ref2$isCompressed","isCompressed","_fetch","mark","_callee","_ref3","compressionType","_this2","wrap","_context","prev","BINARY","NONE","abrupt","_fetchData","reason","concat","stop","fetch","_x","_BaseCMapReaderFactor","_super2","_this3","baseURI","_ref4","_callee2","response","cMapData","_context2","ok","statusText","t0","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","_x2","request","XMLHttpRequest","open","onreadystatechange","readyState","DONE","status","responseText","send","assert","svg","createElementNS","setAttribute","_ref5","viewBox","scale","rotation","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","Math","abs","transform","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","x","y","applyTransform","rect","topLeft","bottomRight","applyInverseTransform","_BaseException","_super3","msg","_this4","BaseException","SELF","BLANK","PARENT","TOP","link","_ref7","rel","_ref7$enabled","enabled","urlNullRemoved","href","title","onclick","targetStr","indexOf","query","end","min","substring","lastIndexOf","pdfDateStringRegex","started","times","warn","now","push","start","_step","outBuf","longest","_iterator","time","_step2","_iterator2","_time","duration","padEnd","Response","ReadableStream","_ref8","protocol","ex","script","onload","onerror","head","documentElement","appendChild","details","console","log","input","isString","RegExp","matches","exec","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","arrayByteLength","arraysToBytes","bytesToString","escapeString","getModificationDate","getVerbosityLevel","isArrayBuffer","isArrayEqual","isBool","isNum","isSameOrigin","setVerbosityLevel","string32","stringToPDFString","stringToUTF8String","utf8StringToString","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","isInteger","cond","otherUrl","base","origin","other","_isValidProtocol","absoluteUrl","prop","message","code","_BaseException2","_BaseException3","_BaseException4","_super4","_BaseException5","_super5","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","bytes","MAX_ARGUMENT_COUNT","fromCharCode","strBuf","chunkEnd","chunk","subarray","charCodeAt","byteLength","resultLength","pos","_i","item","itemLength","set","isLittleEndian","buffer8","view32","Uint32Array","buffer","isEvalSupported","rgbBuf","g","b","m1","m2","xt","yt","p1","p2","p3","p4","max","v","transpose","a","first","sqrt","sx","sy","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","every","element","index","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","capability","isSettled","promise","digits","contentType","forceDataSchema","Blob","ii","b1","b2","b3","d1","d2","d3","d4","_is_node","_pdfjsCompatibilityChecked","hasDOM","window","userAgent","navigator","isIE","btoa","chars","Buffer","atob","Element","remove","removeChild","div","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","endsWith","includes","assign","fromEntries","log2","allSettled","isReadableStreamSupported","controller","close","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","process","versions","nw","electron","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","source","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","isObject","PREFERRED_STRING","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","uid","IS_PURE","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","display","contentWindow","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","j","ARRAY_ITERATOR","kind","Arguments","iterate","k","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","LN2","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","list","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","all","isThenable","notify","isReject","notified","chain","reactions","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","defer","channel","port","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","postMessage","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","flush","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","match","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","body","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","previous","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","filter","some","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","$padEnd","$values","TO_ENTRIES","$entries","PDFPageProxy","PDFDocumentProxy","_font_loader","_node_utils","_annotation_storage","_canvas","_message_handler","_metadata","_optional_content_config","_transport_stream","_webgl","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_e3","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DefaultCanvasFactory","NodeCanvasFactory","DefaultCMapReaderFactory","NodeCMapReaderFactory","createPDFNetworkStream","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","workerParams","workerPort","fromPort","_worker","docId","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","_step3","_iterator3","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPage","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","annotationStorage","saveDocument","AnnotationStorage","fingerprint","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","_intentStates","_ref3$rotation","_ref3$offsetX","_ref3$offsetY","_ref3$dontFlip","_ref4$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_this5","canvasContext","viewport","_ref5$intent","_ref5$enableWebGL","enableWebGL","_ref5$renderInteracti","renderInteractiveForms","_ref5$transform","_ref5$imageLayer","imageLayer","_ref5$canvasFactory","canvasFactory","_ref5$background","background","_ref5$annotationStora","_ref5$optionalContent","optionalContentConfigPromise","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref8$normalizeWhites","normalizeWhitespace","_ref8$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","readableStream","streamTextContent","pump","_ref9","_textContent$items","styles","pageCache","_step5","waitOn","_iterator5","_step5$value","_step6","_iterator6","completed","resetStats","_step7","_iterator7","_step7$value","operatorListChunk","_this6","streamReader","_ref10","_renderPageChunk","_ref11","_this7","_ref11$force","_step8","_iterator8","_step8$value","curIntentState","cleanup","userUnit","_listeners","_defer","_deferred","transfers","_this8","cloneValue","cloned","transferable","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref12","_callee$","eval","createCDNWrapper","_ref13","_ref13$name","_ref13$port","_ref13$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","_this9","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this10","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this11","_destroy","terminated","cancelAllRequests","_this12","sink","getFullReader","onPull","_ref14","onCancel","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref15","_ref16","_numPages","updatePassword","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref17","featureId","_this13","filename","resetModified","results","OptionalContentConfig","_this14","Metadata","contentDispositionFilename","_this15","cleanupSuccessful","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref18","_ref18$useRequestAnim","_ref18$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_ref19","_ref19$transparency","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this16","requestAnimationFrame","_next2","executeOperatorList","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","supported","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","offset","spliceString","insert","chunk1","chunk2","ctx","isFontReady","fillText","getImageData","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","visibility","top","left","span","fontFamily","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_ii","Canvas","createCanvas","fs","readFile","_storage","_modified","onSetModified","onResetModified","defaultValue","_setModified","compatibilityParams","freeze","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","angle","cosValue","cos","sinValue","sin","CachedCanvases","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","sum","steps","outlines","pp","coords","p0","drawOutline","beginPath","kk","ll","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","transferMaps","clone","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","contentVisible","markedContentStack","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","hasTransferMaps","_k","_k2","_hasTransferMaps","_k3","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","scaleX","scaleY","isEnabled","composed","layer","drawImage","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref2$transparency","_ref2$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","depObjId","objsPool","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","singularValueDecompose2dScale","getPattern","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","charWidth","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","img","compiled","maskCanvas","skewX","skewY","positions","images","image","w","imgToPaint","tmpCanvas","widthScale","heightScale","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","visible","isVisible","isContentVisible","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","actionName","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_metadataMap","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","jj","trim","_get","receiver","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","ch","isWhitespaceString","XMLParserBase","entity","onResolveEntity","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","OptionalContentGroup","creator","_order","_groups","order","groups","_group","off","policy","ids","_id","_id2","_id3","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_loaded","_stream","_done","_filename","_requests","_headersReady","requestCapability","_read","_end","_queuedChunk","requestsCapability","_removeRangeReader","_read2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","getDestinationHash","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","dataset","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","storage","getOrCreateValue","multiLine","setValue","disabled","readOnly","fieldName","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","checked","_WidgetAnnotationElem3","buttonValue","getElementsByName","radio","getAttribute","_LinkAnnotationElemen","_WidgetAnnotationElem4","_super8","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","selectedIndex","_AnnotationElement4","_super9","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","_super10","_AnnotationElement6","_super11","lineCoordinates","_AnnotationElement7","_super12","square","_AnnotationElement8","_super13","circle","_AnnotationElement9","_super14","containerClassName","svgElementName","vertices","coordinate","polyline","_PolylineAnnotationEl","_super15","_AnnotationElement10","_super16","_AnnotationElement11","_super17","inkLists","inkList","_AnnotationElement12","_super18","_AnnotationElement13","_super19","_AnnotationElement14","_super20","_AnnotationElement15","_super21","_AnnotationElement16","_super22","_AnnotationElement17","_super23","_this6$data$file","eventBus","dispatch","_download","downloadData","sortedAnnotations","popupAnnotations","annotations","_sortedAnnotations","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","findPositiveMin","ts","expanded","expandBounds","divProperties","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_loop","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fileUriRegex","parseUrl","sourceUrl","parsedUrl","parse","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","auth","_BaseFullReader","handleResponse","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","Range","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","validateResponseStatus","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","contentDispositionStr","_match","_match2","quot","_n2","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","ok_response_on_range_request","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","credentials","redirect","createHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","_yield$this$_reader$r","_yield$this$_reader$r2","FileField","dtoFormat","fileDtoProperty","mostrarPrevisualizacion","formModel","documentoPrevisualizable","nombreDocumento","fileAnchor","download","cd","click","File","admitePreVisualizacion","nombreDocumentoDigital","fileHintText","hintText","commonjsGlobal","unwrapExports","createCommonjsModule","DPlayer_min","secondToTime","getElementViewLeft","offsetLeft","offsetParent","scrollLeft","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getScrollPosition","pageXOffset","pageYOffset","scrollTop","setScrollPosition","isFirefox","scrollTo","isMobile","isChrome","localStorage","setItem","getItem","cumulativeOffset","offsetTop","nameMap","dragStart","dragMove","dragEnd","u","L","M","_","z","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","setting","comment","commentOff","pallette","camera","subtitle","loading","enableSubtitle","$escape","screenshot","preload","I","D","W","H","R","X","N","U","Q","J","Y","quality","qualityIndex","defaultQuality","tran","lang","events","user","danmaku","live","arrow","template","bar","bezel","fullScreen","opacity","danmakuLoading","notice","apiBackend","theme","currentTime","unlimited","api","maximum","addition","focus","paused","hotkey","contextmenu","initVideo","infoPanel","seek","switch","playButton","innerHTML","catch","mutex","ended","disable","volume","volumeIcon","volumeBarWrapWrap","balloon","muted","switchVolumeIcon","poster","initMSE","ptime","reload","customType","Hls","isSupported","loadSource","attachMedia","flvjs","createPlayer","attachMediaElement","load","dashjs","MediaPlayer","initialize","WebTorrent","WEBRTC_SUPPORT","files","renderTo","dtime","buffered","loop","danIndex","videoEvents","hide","switchingQuality","qualityButton","DOMParser","videoWrap","insertBefore","prevVideo","noticeTime","playbackRate","_handled","_value","_deferreds","_immediateFn","_unhandledRejectionFn","finally","_clearFn","setInterval","clearInterval","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","attachEvent","fun","browser","env","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","getElementsByClassName","language","browserLanguage","triggle","alert","Top","Bottom","Rolling","Loop","Speed","Normal","FF","REW","Setting","Send","Screenshot","Volume","Live","icons","volumeBar","volumeBarWrap","volumeButton","playedBar","loadedBar","playedBarWrap","playedBarTime","controllerMask","settingButton","settingBox","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speed","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","menuItem","qualityList","camareButton","subtitleButton","subtitleButtonInner","barPreview","barWrap","infoPanelClose","infoVersion","infoFPS","infoType","infoUrl","infoResolution","infoDuration","infoDanmakuId","infoDanmakuApi","infoDanmakuAmount","$each","$value","$index","logo","bottm","danTunnel","dan","showing","_opacity","_measure","_readAllEndpoints","frame","author","htmlEncode","border","draw","offsetHeight","getBoundingClientRect","createDocumentFragment","getComputedStyle","getPropertyValue","playerEvents","lastScrollPosition","isFullScreen","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","storageName","textTracks","oncuechange","activeCues","getCueAsHTML","show","played","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","loadingChecker","enableloadingChecker","progressChecker","enableprogressChecker","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fps","infoChecker","enableinfoChecker","autoHideTimer","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initVolumeButton","barWidth","videoHeight","videoWidth","clientX","changedTouches","clientWidth","move","innerText","switchQuality","toBlob","disableAutoHide","isShow","backgroundImage","backgroundPosition","unlimit","toggleSetting","hideSetting","keyCode","showSetting","blur","activeElement","tagName","toUpperCase","preventDefault","clientY","beginTime","DPlayer","DPlayer_min_1","VueDPlayer","dp","this$1","install","Vue","pendingOperation","isPDFDocumentLoadingTask","__PDFDocumentLoadingTask","canvasElt","annotationLayerElt","emitEvent","pdfDoc","pdfPage","pdfRender","canceling","clearCanvas","clearAnnotations","pageNumberOnly","PRINT_RESOLUTION","PRINT_UNITS","CSS_UNITS","iframeElt","frameBorder","scrolling","cssText","win","getViewport","allPages","printCanvasElt","queryCommandSupported","execCommand","removeIframe","pageRotate","devicePixelRatio","viewer","scrollPageIntoView","setDocument","setViewer","getAnnotationsOperation","pdfRenderOperation","forEachPage","pageCallback","pageNum","reasonStr","ratio","$export","ENDS_WITH","$endsWith","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","runClearTimeout","marker","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","Item","dir","STARTS_WITH","$startsWith","_annotation_layer_builder","AnnotationLayerBuilder","DefaultAnnotationLayerFactory","_text_layer_builder","DefaultTextLayerFactory","TextLayerBuilder","_ui_utils","EventBus","NullL10n","ProgressBar","_pdf_link_service","PDFLinkService","SimpleLinkService","_download_manager","DownloadManager","_genericl10n","GenericL10n","_pdf_find_controller","PDFFindController","_pdf_history","PDFHistory","_pdf_page_view","PDFPageView","_pdf_single_page_viewer","PDFSinglePageViewer","_pdf_viewer","PDFViewer","_pdfjsLib","pageDiv","_ref$annotationStorag","_ref$imageResourcesPa","_ref$renderInteractiv","_ref$l10n","l10n","_cancelled","pdfjsLib","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","clamp","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDirection","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","WaitOnType","animationStarted","SpreadMode","ScrollMode","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","AutoPrintRegExp","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","ODD","EVEN","formatL10nValue","getLanguage","getDirection","fallback","_callee3","_context3","_callee4","_context4","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","scaled","spot","skipOverflowHiddenElements","clientTop","clientLeft","clientHeight","scrollHeight","scrollWidth","overflow","_scaleY","_scaleX","viewAreaElement","debounceScroll","rAF","currentX","lastX","currentY","lastY","down","_eventHandler","param","condition","minIndex","currentIndex","currentItem","xinv","x_","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","percent","pc","isDataSchema","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","deltaX","deltaY","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","EVENT","TIMEOUT","_ref2$delay","delay","_off","eventHandler","_on","timeoutHandler","eventName","external","eventListeners","externalListeners","units","_indeterminate","progressSize","_percent","scrollbarWidth","_updateBar","moved","_ref$externalLinkTarg","_ref$externalLinkRel","_ref$externalLinkEnab","_ref$ignoreDestinatio","ignoreDestinationZoom","_ignoreDestinationZoom","pdfDocument","pdfViewer","pdfHistory","_pagesRefCache","goToDestination","namedDest","explicitDest","destRef","_cachedPageNumber","cachePageRef","pagesCount","pushCurrentPosition","destArray","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","allowNegativeOffset","pagemode","nameddest","isValidExplicitDestination","back","forward","pageRef","refStr","num","isPageVisible","currentPageNumber","pagesRotation","destLength","allowNull","EXPAND_DIVS_TIMEOUT","textLayerDiv","_ref$findController","findController","_ref$enhanceTextSelec","renderingDone","pageIdx","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","textLayerFrag","_finishRendering","_updateMatches","matchesLength","iIndex","queryLen","mm","matchIdx","divIdx","isSelectedPage","selected","selectedMatchIdx","highlightAll","prevEnd","infinity","i0","i1","isSelected","highlightSuffix","scrollMatchIntoView","matchIndex","appendTextToDiv","n0","n1","fromOffset","toOffset","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","_convertMatches","_renderMatches","expandDivsTimer","adjustTop","divBounds","pageY","_viewer_compatibility","blobUrl","msSaveBlob","viewerCompatibilityParams","disableCreateObjectURL","downloadUrl","platform","maxTouchPoints","isAndroid","isIOS","isIOSChrome","maxCanvasPixels","webL10n","_lang","_ready","setLanguage","_getLanguage","_getDirection","_x3","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","getL10nDictionary","getTranslatableChildren","getL10nAttributes","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","langCount","onResourceLoaded","gResourceCount","resource","L10nResourceLink","dict","locales","default_locale","defaultLocale","anyCaseLang","getPluralRules","locales2rules","isIn","isBetween","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","translateElement","getChildElementCount","nodeType","textNode","childElementCount","translateFragment","elementCount","plural","_pluralRules","fallbackString","getText","rtlList","shortCode","getReadyState","FindState","_pdf_find_utils","FOUND","NOT_FOUND","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","_linkService","_eventBus","_reset","_onFindBarClose","_pdfDocument","_firstPageCapability","_shouldDirtyMatch","_dirtyMatch","_updateUIState","_extractText","findbarClosed","_highlightMatches","pendingTimeout","_findTimeout","_nextMatch","_updateAllPages","_ref2$element","_ref2$pageIndex","_ref2$matchIndex","_scrollMatches","_selected","_pageMatches","_pageMatchesLength","_offset","wrapped","_extractTextPromises","_pageContents","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","startIdx","getCharacterType","endIdx","_limit","pageContent","entireWord","_isEntireWord","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","caseSensitive","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","extractTextCapability","getTextContent","findPrevious","currentPageIndex","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","previousPage","_this$_selected","matchesCount","_requestMatchesCount","rawQuery","_rawQuery","_normalizedQuery","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","isDestHashesEqual","isDestArraysEqual","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","switchInProgress","_isPagesLoaded","onPagesLoaded","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","_pushOrReplaceState","_updateInternalState","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_tryPushCurrentPosition","newUrl","shouldReplace","newState","temporary","checkReload","_performance$getEntri","performance","getEntriesByType","_performance$getEntri2","perfEntry","removeTemporary","checkNameddest","pdfOpenParams","newHash","hashChanged","setHash","_this$_parseCurrentHa2","updateViewarea","_updateViewarea","popState","_popState","pageHide","destHash","pushHash","_parseQueryString","firstDest","secondDest","isEntryEqual","_pdf_rendering_queue","MAX_CANVAS_PIXELS","defaultViewport","renderingId","pageLabel","pdfPageRotate","_annotationStorage","_optionalContentConfigPromise","hasRestrictedScaling","textLayerMode","useOnlyCssZoom","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","paintTask","paintedViewportMap","renderingState","RenderingStates","INITIAL","resume","textLayer","zoomLayer","totalRotation","stats","_renderAnnotationLayer2","_renderAnnotationLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","_resetZoomLayer","loadingIconDiv","cssTransform","timestamp","isScalingRestricted","outputScale","redrawAnnotations","relativeRotation","absRotation","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","setTextContentStream","createAnnotationLayerBuilder","renderCapability","isCanvasHidden","showCanvas","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","ensureNotCancelled","getOperatorList","svgGfx","getSVG","PDFRenderingQueue","CLEANUP_TIMEOUT","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","currentlyVisiblePages","forceRendering","scrolledDown","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","renderHighestPriority","_base_viewer","_BaseViewer","_ensurePageViewVisible","_previousPageNumber","_shadowViewer","_updateScrollDown","pageView","_pages","_currentPageNumber","previousPageView","viewerNodes","_ref$pageSpot","pageSpot","_ref$pageNumber","_setCurrentPageNumber","_getCurrentVisiblePage","visiblePages","BaseViewer","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","newSize","pagesToKeep","pageIdsToKeep","iMax","isSameScale","oldScale","newScale","_name","firstElementChild","HTMLDivElement","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","_pageLabels","_getVisiblePages","_onePageRenderedCapability","_cancelRendering","firstPagePromise","_pagesCapability","_buffer","settled","firstPdfPage","currentScale","_viewerElement","firstPageView","setPdfPage","_spreadMode","_updateSpreadMode","_onePageRenderedOrForceFetch","getPagesLeft","_pageNum","setPageLabel","_currentScale","_currentScaleValue","_location","_pagesRotation","_pagesRequests","_scrollMode","_updateScrollMode","newValue","noScroll","preset","presetValue","isInPresentationMode","isChangingPresentationMode","_setScaleUpdatePages","currentPage","noPadding","hPadding","vPadding","_isScrollModeHorizontal","pageWidthScale","pageHeightScale","horizontalScale","_setScale","_scrollIntoView","_ref3$destArray","_ref3$allowNegativeOf","_ref3$ignoreDestinati","pageWidth","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","firstPage","normalizedScaleValue","currentPageView","getPagePoint","intLeft","intTop","numVisiblePages","newCacheSize","_updateHelper","_updateLocation","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","pagesOverview","scrollMode","pages","parity","spread","_iMax","_this$container","currentId","stillFullyVisible"],"mappings":"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","file":"js/chunk-7df54e60.90dd4a83.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pdf-viewer\"},[(_vm.cargandoPrevisualizacion)?_c('p',{staticClass:\"text-center mt-3\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":_vm.totalDescarga === null},model:{value:(_vm.progresoDescarga),callback:function ($$v) {_vm.progresoDescarga=$$v},expression:\"progresoDescarga\"}}),_c('br'),_vm._v(\"\\n Cargando documento \"),(_vm.totalDescarga !== null)?_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"prettyBytes\")(_vm.progresoDescarga))+\"/\"+_vm._s(_vm._f(\"prettyBytes\")(_vm.totalDescarga))+\")\")]):_vm._e(),_c('br'),_c('v-btn',{attrs:{\"type\":\"button\",\"text\":\"\",\"color\":\"danger\"},on:{\"click\":function($event){return _vm.visualizacionRequest.abort()}}},[_c('v-icon',[_vm._v(\"close\")]),_vm._v(\"\\n Cancelar\\n \")],1)],1):_vm._e(),(_vm.archivoBlobUrl)?_c('object',{staticClass:\"mt-3\",attrs:{\"data\":_vm.archivoBlobUrl,\"type\":\"application/pdf\",\"width\":\"100%\",\"height\":\"650\"}},[_c('p',[_vm._v(\"Su navegador no soporta la vista de PDF. Por favor, descargue el archivo para verlo.\")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PdfViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PdfViewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PdfViewer.vue?vue&type=template&id=46421093&scoped=true&\"\nimport script from \"./PdfViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./PdfViewer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46421093\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VBtn,VIcon,VProgressCircular})\n","\r\n export default {\r\n props: {\r\n fileUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n data: () => ({\r\n cargandoPrevisualizacion: false,\r\n totalDescarga: null,\r\n progresoDescarga: null,\r\n archivoBlobUrl: null,\r\n }),\r\n methods: {\r\n descargarArchivo() {\r\n this.cargandoPrevisualizacion = true;\r\n let self = this;\r\n this.archivoBlobUrl = null;\r\n this.$http.get(this.fileUrl,\r\n {\r\n responseType: 'blob',\r\n downloadProgress(evt) {\r\n if (evt.lengthComputable) {\r\n self.progresoDescarga = evt.loaded;\r\n self.totalDescarga = evt.total;\r\n }\r\n },\r\n before(req) {\r\n self.visualizacionRequest = req;\r\n },\r\n }).then(r =>\r\n r.blob()\r\n ).then(\r\n blob => {\r\n this.archivoBlobUrl = URL.createObjectURL(blob);\r\n this.cargandoPrevisualizacion = false;\r\n this.visualizacionRequest = this.progresoDescarga = this.totalDescarga = null;\r\n },\r\n (err) => {\r\n this.cargandoPrevisualizacion = false;\r\n this.visualizacionRequest = this.progresoDescarga = this.totalDescarga = null;\r\n if (err.statusCode === 500) {\r\n this.$emit('error', err);\r\n }\r\n }\r\n )\r\n }\r\n },\r\n watch: {\r\n fileUrl(val) {\r\n if (val && val.startsWith('blob:')) {\r\n this.archivoBlobUrl = val;\r\n } else if (val) {\r\n this.descargarArchivo();\r\n } else {\r\n this.archivoBlobUrl = null;\r\n }\r\n },\r\n },\r\n mounted() {\r\n if (this.fileUrl) {\r\n this.descargarArchivo();\r\n }\r\n },\r\n }\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.showFile),callback:function ($$v) {_vm.showFile=$$v},expression:\"showFile\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\",\"dense\":\"\",\"shaped\":\"\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\"},on:{\"click\":function($event){return _vm.onClose()}}},[_c('v-icon',[_vm._v(\"close\")])],1),(_vm.nombreArchivo)?_c('v-toolbar-title',[_vm._v(_vm._s(_vm.nombreArchivo))]):_vm._e(),_c('v-spacer'),(_vm.nombreArchivo)?_c('v-btn',{attrs:{\"text\":\"\",\"title\":\"Descargar\"},on:{\"click\":function($event){return _vm.descargarDocumento();}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"get_app\")]),_vm._v(\"\\n Descargar\\n \")],1):_vm._e()],1),_c('f-viewer',{attrs:{\"file-url\":_vm.fileUrl,\"nombre-archivo\":_vm.nombreArchivo}})],1),_c('a',{ref:\"fileAnchor\",attrs:{\"hidden\":\"\"}}),_c('v-snackbar',{attrs:{\"bottom\":\"\",\"left\":\"\"},model:{value:(_vm.descargando),callback:function ($$v) {_vm.descargando=$$v},expression:\"descargando\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":_vm.totalDescarga === null},model:{value:(_vm.progresoDescarga),callback:function ($$v) {_vm.progresoDescarga=$$v},expression:\"progresoDescarga\"}}),_vm._v(\"\\n Descargando\\n \")],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nexport * from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./resize-sensor.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"file-viewer text-center\"},[(_vm.type.tipo === 'pdf')?_c('v-container',{staticClass:\"d-flex background-design pa-0 justify-center\",staticStyle:{\"height\":\"100%\"}},[_c('v-sheet',{attrs:{\"width\":_vm.$vuetify.breakpoint.mobile ? '100%' : '80%'}},[(!_vm.$vuetify.breakpoint.mobile)?_c('pdf-viewer',{attrs:{\"file-url\":_vm.fileUrl}}):_c('pdf-viewer-app',{attrs:{\"file-url\":_vm.fileUrl}})],1)],1):(_vm.type.tipo === 'imagen')?_c('v-container',{staticClass:\"d-flex background-design pa-0 justify-center\"},[_c('v-sheet',{attrs:{\"width\":_vm.$vuetify.breakpoint.mobile ? '100%' : '80%'}},[_c('img-viewer',{attrs:{\"file-url\":_vm.fileUrl,\"media-type\":_vm.type.mediaType}})],1)],1):(_vm.type.tipo === 'video')?_c('v-container',{staticClass:\"d-flex background-design pa-0 justify-center\"},[_c('v-sheet',{attrs:{\"width\":_vm.$vuetify.breakpoint.mobile ? '100%' : '80%',\"max-width\":\"500\"}},[_c('video-viewer',{attrs:{\"file-url\":_vm.fileUrl}})],1)],1):_c('v-container',{staticClass:\"d-flex background-design pa-0 justify-center\"},[_c('v-sheet',{staticClass:\"text-center d-flex\",attrs:{\"width\":_vm.$vuetify.breakpoint.mobile ? '100%' : '80%',\"max-width\":\"500\",\"height\":\"300px\"}},[_c('v-list-item-avatar',[_c('v-icon',{staticClass:\"grey lighten-1\",attrs:{\"dark\":\"\"}},[_vm._v(\"\\n folder\\n \")])],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.nombreArchivo)}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pdf-viewer\"},[(_vm.cargandoPrevisualizacion)?_c('p',{staticClass:\"text-center mt-3\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":_vm.totalDescarga === null},model:{value:(_vm.progresoDescarga),callback:function ($$v) {_vm.progresoDescarga=$$v},expression:\"progresoDescarga\"}}),_c('br'),_vm._v(\"\\n Cargando documento \"),(_vm.totalDescarga !== null)?_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"prettyBytes\")(_vm.progresoDescarga))+\"/\"+_vm._s(_vm._f(\"prettyBytes\")(_vm.totalDescarga))+\")\")]):_vm._e(),_c('br'),_c('v-btn',{attrs:{\"type\":\"button\",\"text\":\"\",\"color\":\"danger\"},on:{\"click\":function($event){return _vm.visualizacionRequest.abort()}}},[_c('v-icon',[_vm._v(\"close\")]),_vm._v(\"\\n Cancelar\\n \")],1)],1):_vm._e(),_vm._l((_vm.numPages),function(i){return _c('pdf',{key:i,attrs:{\"src\":_vm.archivoBlobUrl,\"page\":i}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"","import resizeSensor from 'vue-resize-sensor'\r\n\r\nexport default function(pdfjsWrapper) {\r\n\r\n\tvar createLoadingTask = pdfjsWrapper.createLoadingTask;\r\n\tvar PDFJSWrapper = pdfjsWrapper.PDFJSWrapper;\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\trender: function(h) {\r\n\t\t\treturn h('span', {\r\n\t\t\t\tattrs: {\r\n\t\t\t\t\tstyle: 'position: relative; display: block'\r\n\t\t\t\t}\r\n\t\t\t}, [\r\n\t\t\t\th('canvas', {\r\n\t\t\t\t\tattrs: {\r\n\t\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%; vertical-align: top',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tref:'canvas'\r\n\t\t\t\t}),\r\n\t\t\t\th('span', {\r\n\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%',\r\n\t\t\t\t\tclass: 'annotationLayer',\r\n\t\t\t\t\tref:'annotationLayer'\r\n\t\t\t\t}),\r\n\t\t\t\th(resizeSensor, {\r\n\t\t\t\t\tprops: {\r\n\t\t\t\t\t\tinitial: true\r\n\t\t\t\t\t},\r\n\t\t\t\t\ton: {\r\n\t\t\t\t\t\tresize: this.resize\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tsrc: {\r\n\t\t\t\ttype: [String, Object, Uint8Array],\r\n\t\t\t\tdefault: '',\r\n\t\t\t},\r\n\t\t\tpage: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 1,\r\n\t\t\t},\r\n\t\t\trotate: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t},\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\tsrc: function() {\r\n\r\n\t\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t\t},\r\n\t\t\tpage: function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t},\r\n\t\t\trotate: function() {\r\n\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\t\t\t},\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tresize: function(size) {\r\n\r\n\t\t\t\t// check if the element is attached to the dom tree || resizeSensor being destroyed\r\n\t\t\t\tif ( this.$el.parentNode === null || (size.width === 0 && size.height === 0) )\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\t// on IE10- canvas height must be set\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (this.$refs.canvas.height / this.$refs.canvas.width) + 'px';\r\n\t\t\t\t// update the page when the resolution is too poor\r\n\t\t\t\tvar resolutionScale = this.pdf.getResolutionScale();\r\n\r\n\t\t\t\tif ( resolutionScale < 0.85 || resolutionScale > 1.15 )\r\n\t\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\r\n\t\t\t\t// this.$refs.annotationLayer.style.transform = 'scale('+resolutionScale+')';\r\n\t\t\t},\r\n\t\t\tprint: function(dpi, pageList) {\r\n\r\n\t\t\t\tthis.pdf.printPage(dpi, pageList);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// doc: mounted hook is not called during server-side rendering.\r\n\t\tmounted: function() {\r\n\r\n\t\t\tthis.pdf = new PDFJSWrapper(this.$refs.canvas, this.$refs.annotationLayer, this.$emit.bind(this));\r\n\r\n\t\t\tthis.$on('loaded', function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t});\r\n\r\n\t\t\tthis.$on('page-size', function(width, height) {\r\n\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (height / width) + 'px';\r\n\t\t\t});\r\n\r\n\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t},\r\n\r\n\t\t// doc: destroyed hook is not called during server-side rendering.\r\n\t\tdestroyed: function() {\r\n\r\n\t\t\tthis.pdf.destroy();\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","\r\n","var render, staticRenderFns\nimport script from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nexport * from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./annotationLayer.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PdfViewerApp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PdfViewerApp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PdfViewerApp.vue?vue&type=template&id=21110063&scoped=true&\"\nimport script from \"./PdfViewerApp.vue?vue&type=script&lang=js&\"\nexport * from \"./PdfViewerApp.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21110063\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VBtn,VIcon,VProgressCircular})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"video-viewer\"},[(_vm.cargandoPrevisualizacion)?_c('p',{staticClass:\"text-center mt-3\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":_vm.totalDescarga === null},model:{value:(_vm.progresoDescarga),callback:function ($$v) {_vm.progresoDescarga=$$v},expression:\"progresoDescarga\"}}),_c('br'),_vm._v(\"\\n Cargando video \"),(_vm.totalDescarga !== null)?_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"prettyBytes\")(_vm.progresoDescarga))+\"/\"+_vm._s(_vm._f(\"prettyBytes\")(_vm.totalDescarga))+\")\")]):_vm._e(),_c('br'),_c('v-btn',{attrs:{\"type\":\"button\",\"text\":\"\",\"color\":\"danger\"},on:{\"click\":function($event){return _vm.visualizacionRequest.abort()}}},[_c('v-icon',[_vm._v(\"close\")]),_vm._v(\"\\n Cancelar\\n \")],1)],1):_vm._e(),_c('d-player',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.archivoBlobUrl),expression:\"archivoBlobUrl\"}],ref:\"player\",attrs:{\"options\":_vm.options}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoViewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VideoViewer.vue?vue&type=template&id=d0c40874&scoped=true&\"\nimport script from \"./VideoViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./VideoViewer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d0c40874\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VBtn,VIcon,VProgressCircular})\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FViewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FViewer.vue?vue&type=template&id=00a4e95a&scoped=true&\"\nimport script from \"./FViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./FViewer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00a4e95a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VContainer,VIcon,VListItemAvatar,VListItemContent,VListItemTitle,VSheet})\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FViewerDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FViewerDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FViewerDialog.vue?vue&type=template&id=56c53942&scoped=true&\"\nimport script from \"./FViewerDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./FViewerDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56c53942\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VDialog,VIcon,VProgressCircular,VSnackbar,VSpacer,VToolbar,VToolbarTitle})\n","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"31f002ce8ab7835916ac.worker.js\");\n};","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\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, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n});\nObject.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n});\nObject.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n});\nObject.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n});\nObject.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n});\nObject.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n});\nObject.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n});\nObject.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n});\nObject.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n});\nObject.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n});\nObject.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n});\nObject.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n});\nObject.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n});\nObject.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n});\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n});\nObject.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n});\nObject.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n});\nObject.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n});\nObject.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n});\nObject.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n});\nObject.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n});\nObject.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n});\nObject.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n});\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n});\nObject.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n});\nObject.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n});\nObject.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n});\nObject.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n});\nObject.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n});\nObject.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n});\nObject.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n});\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(202);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(216);\n\nvar _api_compatibility = __w_pdfjs_require__(206);\n\nvar _worker_options = __w_pdfjs_require__(209);\n\nvar _text_layer = __w_pdfjs_require__(217);\n\nvar _svg = __w_pdfjs_require__(218);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n{\n var _require = __w_pdfjs_require__(7),\n isNodeJS = _require.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(219).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(222).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(223).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.BaseCMapReaderFactory = exports.DOMCanvasFactory = exports.BaseCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\n\nvar BaseCanvasFactory = /*#__PURE__*/function () {\n function BaseCanvasFactory() {\n _classCallCheck(this, BaseCanvasFactory);\n\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n _createClass(BaseCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.unreachable)(\"Abstract method `create` called.\");\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return BaseCanvasFactory;\n}();\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nvar DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(DOMCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(DOMCanvasFactory);\n\n function DOMCanvasFactory() {\n var _this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\n\n _classCallCheck(this, DOMCanvasFactory);\n\n _this = _super.call(this);\n _this._document = ownerDocument;\n return _this;\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var canvas = this._document.createElement(\"canvas\");\n\n var context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }]);\n\n return DOMCanvasFactory;\n}(BaseCanvasFactory);\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar BaseCMapReaderFactory = /*#__PURE__*/function () {\n function BaseCMapReaderFactory(_ref2) {\n var _ref2$baseUrl = _ref2.baseUrl,\n baseUrl = _ref2$baseUrl === void 0 ? null : _ref2$baseUrl,\n _ref2$isCompressed = _ref2.isCompressed,\n isCompressed = _ref2$isCompressed === void 0 ? false : _ref2$isCompressed;\n\n _classCallCheck(this, BaseCMapReaderFactory);\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 _createClass(BaseCMapReaderFactory, [{\n key: \"fetch\",\n value: function () {\n var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref3) {\n var _this2 = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n name = _ref3.name;\n\n if (this.baseUrl) {\n _context.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context.next = 5;\n break;\n }\n\n throw new Error(\"CMap name must be specified.\");\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return _context.abrupt(\"return\", this._fetchData(url, compressionType)[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this2.isCompressed ? \"binary \" : \"\", \"CMap at: \").concat(url));\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n return fetch;\n }()\n }, {\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n }]);\n\n return BaseCMapReaderFactory;\n}();\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nvar DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(DOMCMapReaderFactory);\n\n function DOMCMapReaderFactory() {\n _classCallCheck(this, DOMCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n var _this3 = this;\n\n if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {\n return fetch(url).then( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (response.ok) {\n _context2.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this3.isCompressed) {\n _context2.next = 10;\n break;\n }\n\n _context2.t0 = Uint8Array;\n _context2.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context2.t1 = _context2.sent;\n cMapData = new _context2.t0(_context2.t1);\n _context2.next = 15;\n break;\n\n case 10:\n _context2.t2 = _util.stringToBytes;\n _context2.next = 13;\n return response.text();\n\n case 13:\n _context2.t3 = _context2.sent;\n cMapData = (0, _context2.t2)(_context2.t3);\n\n case 15:\n return _context2.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n\n return new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this3.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this3.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this3.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}(BaseCMapReaderFactory);\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory = /*#__PURE__*/function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n var svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport = /*#__PURE__*/function () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n 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 var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$offsetX = _ref6.offsetX,\n offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,\n _ref6$offsetY = _ref6.offsetY,\n offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = /*#__PURE__*/function (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n var _super3 = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this4;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this4 = _super3.call(this, msg);\n _this4.type = type;\n return _this4;\n }\n\n return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar 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 var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel,\n _ref7$enabled = _ref7.enabled,\n enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\n var targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf(\"#\");\n var query = url.indexOf(\"?\");\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nvar StatTimer = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(name));\n }\n\n this.times.push({\n name: name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var outBuf = [];\n var longest = 0;\n\n var _iterator = _createForOfIteratorHelper(this.times),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.times),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref8.protocol;\n\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString = /*#__PURE__*/function () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || \"Z\";\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(6);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar 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;\nvar 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;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar 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;\nvar AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar 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;\nvar 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;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar 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;\nvar FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar 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;\nvar UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\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 errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar 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: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(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 isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\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) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.apply(this, arguments);\n }\n\n return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\nvar 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 var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\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 return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction getModificationDate() {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(Date.now());\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), (date.getUTCDate() + 1).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 var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.atob = function (input) {\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (div.classList.contains(\"testOne\") === true && div.classList.contains(\"testTwo\") === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n\n __w_pdfjs_require__(101);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(105);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(107);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(109);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(112);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(117);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(138);\n })();\n\n (function checkReadableStream() {\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(145).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(146);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(155);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(161);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(163);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(165);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(190);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(195);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(197);\n })();\n\n (function checkObjectEntries() {\n if (Object.entries) {\n return;\n }\n\n Object.entries = __w_pdfjs_require__(200);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(103);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar iterate = __w_pdfjs_require__(104);\nvar createProperty = __w_pdfjs_require__(93);\n$({\n target: 'Object',\n stat: true\n}, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, undefined, true);\n return obj;\n }\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(108);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(110);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(111);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(113);\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(114);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(115);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(136);\n__w_pdfjs_require__(137);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(119);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(121);\nvar ArrayIteratorMethods = __w_pdfjs_require__(102);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(125);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(126);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(104);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar task = __w_pdfjs_require__(127).set;\nvar microtask = __w_pdfjs_require__(130);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar hostReportErrors = __w_pdfjs_require__(133);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n }, { unsafe: true });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(128);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(127).set;\nvar IS_IOS = __w_pdfjs_require__(128);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(132);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(129);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar iterate = __w_pdfjs_require__(104);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(123);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(144);\n__w_pdfjs_require__(142);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(126);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(141);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(142);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(102);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(126);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(143);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n }\n function MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }();\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }();\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return promiseRejectedWith(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n }();\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n }();\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n }();\n var TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n }();\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar iterate = __w_pdfjs_require__(104);\nvar anInstance = __w_pdfjs_require__(126);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(151);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(150);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(124);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(125);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(149).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(124);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(124);\nvar getWeakData = __w_pdfjs_require__(149).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar ArrayIterationModule = __w_pdfjs_require__(158);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar push = [].push;\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(160);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(170);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\n__w_pdfjs_require__(188);\n__w_pdfjs_require__(189);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(169);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(171);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(158).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineProperty = __w_pdfjs_require__(27).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(191);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(192).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(193);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(192).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(198);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(199).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(201);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.entries;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $entries = __w_pdfjs_require__(199).entries;\n$({\n target: 'Object',\n stat: true\n}, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(203);\n\nvar _node_utils = __w_pdfjs_require__(204);\n\nvar _annotation_storage = __w_pdfjs_require__(205);\n\nvar _api_compatibility = __w_pdfjs_require__(206);\n\nvar _canvas = __w_pdfjs_require__(207);\n\nvar _worker_options = __w_pdfjs_require__(209);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(210);\n\nvar _metadata = __w_pdfjs_require__(211);\n\nvar _optional_content_config = __w_pdfjs_require__(213);\n\nvar _transport_stream = __w_pdfjs_require__(214);\n\nvar _webgl = __w_pdfjs_require__(215);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar RENDERING_CANCELLED_TIMEOUT = 100;\nvar DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\nvar DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (_typeof(pdfBytes) === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.ownerDocument === \"undefined\") {\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 var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n workerId = _ref2[0],\n networkStream = _ref2[1];\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n })[\"catch\"](task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId: docId,\n apiVersion: '2.6.347',\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 postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask = /*#__PURE__*/function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\" + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"destroy\",\n value: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport = /*#__PURE__*/function () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iterator = _createForOfIteratorHelper(this._rangeListeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy = /*#__PURE__*/function () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n return this._transport.saveDocument(annotationStorage);\n }\n }, {\n key: \"annotationStorage\",\n get: function get() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) {\n var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\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.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref3.scale,\n _ref3$rotation = _ref3.rotation,\n rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$intent = _ref4.intent,\n intent = _ref4$intent === void 0 ? null : _ref4$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref5) {\n var _this5 = this;\n\n var canvasContext = _ref5.canvasContext,\n viewport = _ref5.viewport,\n _ref5$intent = _ref5.intent,\n intent = _ref5$intent === void 0 ? \"display\" : _ref5$intent,\n _ref5$enableWebGL = _ref5.enableWebGL,\n enableWebGL = _ref5$enableWebGL === void 0 ? false : _ref5$enableWebGL,\n _ref5$renderInteracti = _ref5.renderInteractiveForms,\n renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti,\n _ref5$transform = _ref5.transform,\n transform = _ref5$transform === void 0 ? null : _ref5$transform,\n _ref5$imageLayer = _ref5.imageLayer,\n imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,\n _ref5$canvasFactory = _ref5.canvasFactory,\n canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,\n _ref5$background = _ref5.background,\n background = _ref5$background === void 0 ? null : _ref5$background,\n _ref5$annotationStora = _ref5.annotationStorage,\n annotationStorage = _ref5$annotationStora === void 0 ? null : _ref5$annotationStora,\n _ref5$optionalContent = _ref5.optionalContentConfigPromise,\n optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n var renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n annotationStorage: annotationStorage && annotationStorage.getAll() || null\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this5.cleanupAfterRender || renderingIntent === \"print\") {\n _this5.pendingCleanup = true;\n }\n\n _this5._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this5._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this5._stats) {\n _this5._stats.timeEnd(\"Rendering\");\n\n _this5._stats.timeEnd(\"Overall\");\n }\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n transparency = _ref7[0],\n optionalContentConfig = _ref7[1];\n\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this5._stats) {\n _this5._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency: transparency,\n optionalContentConfig: optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n })[\"catch\"](complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = \"oplist\";\n\n var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref8$normalizeWhites = _ref8.normalizeWhitespace,\n normalizeWhitespace = _ref8$normalizeWhites === void 0 ? false : _ref8$normalizeWhites,\n _ref8$disableCombineT = _ref8.disableCombineTextItems,\n disableCombineTextItems = _ref8$disableCombineT === void 0 ? false : _ref8$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref9) {\n var _textContent$items;\n\n var value = _ref9.value,\n done = _ref9.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n\n var _iterator5 = _createForOfIteratorHelper(this._intentStates),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _step5$value = _slicedToArray(_step5.value, 2),\n intent = _step5$value[0],\n intentState = _step5$value[1];\n\n this._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n continue;\n }\n\n var _iterator6 = _createForOfIteratorHelper(intentState.renderTasks),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var internalRenderTask = _step6.value;\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup) {\n return false;\n }\n\n var _iterator7 = _createForOfIteratorHelper(this._intentStates.values()),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _step7.value,\n renderTasks = _step7$value.renderTasks,\n operatorList = _step7$value.operatorList;\n\n if (renderTasks.length !== 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this._intentStates.get(intent);\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i2 = 0; _i2 < intentState.renderTasks.length; _i2++) {\n intentState.renderTasks[_i2].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this6 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n var reader = readableStream.getReader();\n\n var intentState = this._intentStates.get(args.intent);\n\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref10) {\n var value = _ref10.value,\n done = _ref10.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this6._transport.destroyed) {\n return;\n }\n\n _this6._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this6._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n _this6._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref11) {\n var _this7 = this;\n\n var intentState = _ref11.intentState,\n reason = _ref11.reason,\n _ref11$force = _ref11.force,\n force = _ref11$force === void 0 ? false : _ref11$force;\n (0, _util.assert)(reason instanceof Error || _typeof(reason) === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this7._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n var _iterator8 = _createForOfIteratorHelper(this._intentStates),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _slicedToArray(_step8.value, 2),\n intent = _step8$value[0],\n curIntentState = _step8$value[1];\n\n if (curIntentState === intentState) {\n this._intentStates[\"delete\"](intent);\n\n break;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n this.cleanup();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this._pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this8 = this;\n\n function cloneValue(value) {\n if (_typeof(value) !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this8, {\n data: obj\n });\n });\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this8._listeners.forEach(function (listener) {\n listener.call(_this8, e);\n });\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var nextFakeWorkerId = 0;\n var fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\" && \"currentScript\" in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var mainWorkerMessageHandler, worker;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function loader() {\n return _ref12.apply(this, arguments);\n };\n }();\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$name = _ref13.name,\n name = _ref13$name === void 0 ? null : _ref13$name,\n _ref13$port = _ref13.port,\n port = _ref13$port === void 0 ? null : _ref13$port,\n _ref13$verbosity = _ref13.verbosity,\n verbosity = _ref13$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref13$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this9 = this;\n\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this9.destroyed) {\n _this9._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this9._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this9._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this9.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this9._messageHandler = messageHandler;\n _this9._port = worker;\n _this9._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this9.postMessageTransfers = false;\n }\n\n _this9._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this9.verbosity\n });\n } else {\n _this9._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this9.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this9._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this9.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this10 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this10.destroyed) {\n _this10._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this10._port = port;\n var id = \"fake\" + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n _this10._messageHandler = messageHandler;\n\n _this10._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this10.verbosity\n });\n })[\"catch\"](function (reason) {\n _this10._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts[\"delete\"](this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this11 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this11.fontLoader.clear();\n\n if (_this11._networkStream) {\n _this11._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this11.messageHandler) {\n _this11.messageHandler.destroy();\n\n _this11.messageHandler = null;\n }\n\n _this11.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this12 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this12._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this12._fullReader = _this12._networkStream.getFullReader();\n\n _this12._fullReader.onProgress = function (evt) {\n _this12._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this12._fullReader.read().then(function (_ref14) {\n var value = _ref14.value,\n done = _ref14.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\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this12._fullReader.cancel(reason);\n\n sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this12._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this12._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this12._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", function (data, sink) {\n (0, _util.assert)(_this12._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this12._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref15) {\n var value = _ref15.value,\n done = _ref15.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\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref16) {\n var pdfInfo = _ref16.pdfInfo;\n _this12._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this12));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n if (!(reason instanceof Error)) {\n var msg = \"DocException - expected a valid Error.\";\n (0, _util.warn)(msg);\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this12._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this12._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this12._passwordCapability.reject(ex);\n }\n } else {\n _this12._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this12._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this12.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n var page = _this12.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (_this12.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this12._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this12.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _this12._onUnsupportedFeature.bind(_this12),\n fontRegistry: fontRegistry\n });\n\n _this12.fontLoader.bind(font)[\"catch\"](function (reason) {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n });\n })[\"finally\"](function () {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n _this12.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"Image\":\n _this12.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", function (data) {\n if (_this12.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = _this12.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", function (data, sink) {\n if (_this12.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this12.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref17) {\n var featureId = _ref17.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this13 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.ownerDocument, _this13._params.pdfBug);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n })[\"catch\"](function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n numPages: this._numPages,\n annotationStorage: annotationStorage && annotationStorage.getAll() || null,\n filename: this._fullReader ? this._fullReader.filename : null\n })[\"finally\"](function () {\n if (annotationStorage) {\n annotationStorage.resetModified();\n }\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(function (results) {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this14 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this14._fullReader ? _this14._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this15 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {\n var page = _this15.pageCache[i];\n\n if (page) {\n var cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\n }\n }\n\n _this15.commonObjs.clear();\n\n _this15.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref18) {\n var callback = _ref18.callback,\n params = _ref18.params,\n objs = _ref18.objs,\n commonObjs = _ref18.commonObjs,\n operatorList = _ref18.operatorList,\n pageIndex = _ref18.pageIndex,\n canvasFactory = _ref18.canvasFactory,\n webGLContext = _ref18.webGLContext,\n _ref18$useRequestAnim = _ref18.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref18$useRequestAnim === void 0 ? false : _ref18$useRequestAnim,\n _ref18$pdfBug = _ref18.pdfBug,\n pdfBug = _ref18$pdfBug === void 0 ? false : _ref18$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics(_ref19) {\n var _ref19$transparency = _ref19.transparency,\n transparency = _ref19$transparency === void 0 ? false : _ref19$transparency,\n optionalContentConfig = _ref19.optionalContentConfig;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer, optionalContentConfig);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this16 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this16._nextBound()[\"catch\"](_this16.cancel.bind(_this16));\n });\n } else {\n Promise.resolve().then(this._nextBound)[\"catch\"](this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this.cancelled) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }, {\n key: \"completed\",\n get: function get() {\n return this.capability.promise[\"catch\"](function () {});\n }\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.6.347';\nexports.version = version;\nvar build = '3be9c65f';\nexports.build = build;\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature,\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n\n this._document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n\n this._document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this = this;\n\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n _this._document.fonts[\"delete\"](nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(font) {\n var _this2 = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 24:\n _context.next = 26;\n return new Promise(function (resolve) {\n var request = _this2._queueLoadingCallback(resolve);\n\n _this2._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof this._document !== \"undefined\" && !!this._document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(params) {\n var _this3;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this3 = _super.call(this, params);\n _this3.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this3.loadTestFontId = 0;\n return _this3;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n var _this4 = this;\n\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext(\"2d\");\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n\n var 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 (i = 0, ii = names.length; i < ii; ++i) {\n var span = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n this._document.body.appendChild(div);\n\n isFontReady(loadTestFontId, function () {\n _this4._document.body.removeChild(div);\n\n request.complete();\n });\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\n\nvar FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n var args,\n js = \"\";\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar NodeCanvasFactory = function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCanvasFactory\");\n};\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nvar NodeCMapReaderFactory = function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCMapReaderFactory\");\n};\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nif (_is_node.isNodeJS) {\n exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(NodeCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(NodeCanvasFactory);\n\n function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NodeCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var Canvas = require(\"canvas\");\n\n var canvas = Canvas.createCanvas(width, height);\n return {\n canvas: canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n }]);\n\n return NodeCanvasFactory;\n }(_display_utils.BaseCanvasFactory);\n\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(NodeCMapReaderFactory);\n\n function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NodeCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n return new Promise(function (resolve, reject) {\n var fs = require(\"fs\");\n\n fs.readFile(url, function (error, data) {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve({\n cMapData: new Uint8Array(data),\n compressionType: compressionType\n });\n });\n });\n }\n }]);\n\n return NodeCMapReaderFactory;\n }(_display_utils.BaseCMapReaderFactory);\n}\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationStorage = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationStorage = /*#__PURE__*/function () {\n function AnnotationStorage() {\n _classCallCheck(this, AnnotationStorage);\n\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n _createClass(AnnotationStorage, [{\n key: \"getOrCreateValue\",\n value: function getOrCreateValue(key, defaultValue) {\n if (this._storage.has(key)) {\n return this._storage.get(key);\n }\n\n this._storage.set(key, defaultValue);\n\n return defaultValue;\n }\n }, {\n key: \"setValue\",\n value: function setValue(key, value) {\n if (this._storage.get(key) !== value) {\n this._setModified();\n }\n\n this._storage.set(key, value);\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n if (this._storage.size === 0) {\n return null;\n }\n\n return Object.fromEntries(this._storage);\n }\n }, {\n key: \"_setModified\",\n value: function _setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n }, {\n key: \"resetModified\",\n value: function resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._storage.size;\n }\n }]);\n\n return AnnotationStorage;\n}();\n\nexports.AnnotationStorage = AnnotationStorage;\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apiCompatibilityParams = void 0;\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar compatibilityParams = Object.create(null);\n{\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nvar apiCompatibilityParams = Object.freeze(compatibilityParams);\nexports.apiCompatibilityParams = apiCompatibilityParams;\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _pattern_helper = __w_pdfjs_require__(208);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n this.transferMaps = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer, optionalContentConfig) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n var 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 var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n var _ref = [black, white];\n white = _ref[0];\n black = _ref[1];\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 var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n var 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 (var _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 (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {\n if (transferMapRed) {\n dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n\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 (var _k3 = 0; _k3 < destPos; _k3 += 4) {\n if (transferMapRed) {\n dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref2) {\n var transform = _ref2.transform,\n viewport = _ref2.viewport,\n _ref2$transparency = _ref2.transparency,\n transparency = _ref2$transparency === void 0 ? false : _ref2$transparency,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? null : _ref2$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator = _createForOfIteratorHelper(argsArray[i]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n ctx.moveTo(x, y);\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n ctx.lineTo(x, y);\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 break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (this.contentVisible) {\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.contentVisible) {\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();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (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 scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n 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 var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n 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 var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function paintImageMaskXObjectRepeat(imgData, scaleX) {\n var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var scaleY = arguments.length > 4 ? arguments[4] : undefined;\n var positions = arguments.length > 5 ? arguments[5] : undefined;\n\n if (!this.contentVisible) {\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n },\n beginMarkedContentProps: function CanvasGraphics_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 endMarkedContent: function CanvasGraphics_endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n },\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n },\n isContentVisible: function CanvasGraphics_isContentVisible() {\n for (var 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 for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else if (y1 === y2) {\n _k = 1;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * _k;\n car = c1r - (c1r - c2r) * _k;\n cag = c1g - (c1g - c2g) * _k;\n cab = c1b - (c1b - c2b) * _k;\n } else {\n var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n 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\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar 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/* 210 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nvar 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 (_typeof(reason) !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(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 var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var 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 _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _xml_parser = __w_pdfjs_require__(212);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = \"\";\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return Object.fromEntries(this._metadataMap);\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar XMLParserBase = /*#__PURE__*/function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return _this.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var attributes = [];\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n var attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n var value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === \"<\") {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n var q2 = s.indexOf(\"[\", j + 8);\n var complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _super.call(this);\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OptionalContentConfig = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OptionalContentGroup = function OptionalContentGroup(name, intent) {\n _classCallCheck(this, OptionalContentGroup);\n\n this.visible = true;\n this.name = name;\n this.intent = intent;\n};\n\nvar OptionalContentConfig = /*#__PURE__*/function () {\n function OptionalContentConfig(data) {\n _classCallCheck(this, OptionalContentConfig);\n\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 var _iterator = _createForOfIteratorHelper(data.groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _group = _step.value;\n\n this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (data.baseState === \"OFF\") {\n var _iterator2 = _createForOfIteratorHelper(this._groups),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var group = _step2.value;\n group.visible = false;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n var _iterator3 = _createForOfIteratorHelper(data.on),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var on = _step3.value;\n this._groups.get(on).visible = true;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var _iterator4 = _createForOfIteratorHelper(data.off),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var off = _step4.value;\n this._groups.get(off).visible = false;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n _createClass(OptionalContentConfig, [{\n key: \"isVisible\",\n value: function isVisible(group) {\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(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 (0, _util.warn)(\"Visibility expression not supported yet.\");\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n var _iterator5 = _createForOfIteratorHelper(group.ids),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var id = _step5.value;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n var _iterator6 = _createForOfIteratorHelper(group.ids),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _id = _step6.value;\n\n if (!this._groups.has(_id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id));\n return true;\n }\n\n if (!this._groups.get(_id).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n var _iterator7 = _createForOfIteratorHelper(group.ids),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _id2 = _step7.value;\n\n if (!this._groups.has(_id2)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id2));\n return true;\n }\n\n if (!this._groups.get(_id2).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n var _iterator8 = _createForOfIteratorHelper(group.ids),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _id3 = _step8.value;\n\n if (!this._groups.has(_id3)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id3));\n return true;\n }\n\n if (this._groups.get(_id3).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return true;\n }\n\n (0, _util.warn)(\"Unknown optional content policy \".concat(group.policy, \".\"));\n return true;\n }\n\n (0, _util.warn)(\"Unknown group type \".concat(group.type, \".\"));\n return true;\n }\n }, {\n key: \"setVisibility\",\n value: function setVisibility(id) {\n var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return;\n }\n\n this._groups.get(id).visible = !!visible;\n }\n }, {\n key: \"getOrder\",\n value: function 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 key: \"getGroups\",\n value: function getGroups() {\n if (!this._groups.size) {\n return null;\n }\n\n return Object.fromEntries(this._groups);\n }\n }, {\n key: \"getGroup\",\n value: function getGroup(id) {\n return this._groups.get(id) || null;\n }\n }]);\n\n return OptionalContentConfig;\n}();\n\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n var _iterator = _createForOfIteratorHelper(this._queuedChunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_storage = __w_pdfjs_require__(205);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super.call(this, parameters, isRenderable);\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"linkAnnotation\";\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super2 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super2.call(this, parameters, isRenderable);\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super3 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super4 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super4.call(this, parameters, isRenderable);\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n var storage = this.annotationStorage;\n var id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n var textContent = storage.getOrCreateValue(id, this.data.fieldValue);\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 element.addEventListener(\"input\", function (event) {\n storage.setValue(id, event.target.value);\n });\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n var fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super5.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, data.fieldValue && data.fieldValue !== \"Off\");\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.addEventListener(\"change\", function (event) {\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super6.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, data.fieldValue === data.buttonValue);\n var element = document.createElement(\"input\");\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.addEventListener(\"change\", function (event) {\n var name = event.target.name;\n\n var _iterator = _createForOfIteratorHelper(document.getElementsByName(name)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var radio = _step.value;\n\n if (radio !== event.target) {\n storage.setValue(radio.parentNode.getAttribute(\"data-annotation-id\"), false);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super7.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super8.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"choiceWidgetAnnotation\";\n var storage = this.annotationStorage;\n var id = this.data.id;\n storage.getOrCreateValue(id, this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null);\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.data.options),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var option = _step2.value;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n selectElement.addEventListener(\"input\", function (event) {\n var options = event.target.options;\n var value = options[options.selectedIndex].value;\n storage.setValue(id, value);\n });\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super9 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super9.call(this, parameters, isRenderable);\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement(\"p\");\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super10 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super10.call(this, parameters, isRenderable, true);\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super11 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super11.call(this, parameters, isRenderable, true);\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super12 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super13 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super13.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super14 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _super14.call(this, parameters, isRenderable, true);\n _this3.containerClassName = \"polylineAnnotation\";\n _this3.svgElementName = \"svg:polyline\";\n return _this3;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n\n var _iterator3 = _createForOfIteratorHelper(data.vertices),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var coordinate = _step3.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super15 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _super15.call(this, parameters);\n _this4.containerClassName = \"polygonAnnotation\";\n _this4.svgElementName = \"svg:polygon\";\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super16 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super16.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super17 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _super17.call(this, parameters, isRenderable, true);\n _this5.containerClassName = \"inkAnnotation\";\n _this5.svgElementName = \"svg:polyline\";\n return _this5;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n\n var _iterator4 = _createForOfIteratorHelper(data.inkLists),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var inkList = _step4.value;\n var points = [];\n\n var _iterator5 = _createForOfIteratorHelper(inkList),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var coordinate = _step5.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super18 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super18.call(this, parameters, isRenderable, true);\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super19 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super19.call(this, parameters, isRenderable, true);\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super20 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super21 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super22 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _super23.call(this, parameters, true);\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"fileAttachmentAnnotation\";\n var trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator6 = _createForOfIteratorHelper(parameters.annotations),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _data = _step6.value;\n\n if (!_data) {\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 } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {\n var data = _sortedAnnotations[_i];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: typeof parameters.renderInteractiveForms === \"boolean\" ? parameters.renderInteractiveForms : true,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator7 = _createForOfIteratorHelper(parameters.annotations),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var data = _step7.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var 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) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = _util.Util.applyTransform(p, 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 var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\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 && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n })[\"catch\"](function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this2._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator = _createForOfIteratorHelper(opList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var opListElement = _step.value;\n\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n var output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xffff;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = /*#__PURE__*/function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n _step2;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith(\"g_\") ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n fnId: fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iterator3 = _createForOfIteratorHelper(opTree),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.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\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.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\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator4 = _createForOfIteratorHelper(glyphs),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var glyph = _step4.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var 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 var charWidth = void 0;\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 } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\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\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!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 var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator5 = _createForOfIteratorHelper(colorStops),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n\n var _iterator6 = _createForOfIteratorHelper(ops),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var op = _step6.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iterator7 = _createForOfIteratorHelper(states),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var 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 \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n var imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nvar fs = require(\"fs\");\n\nvar http = require(\"http\");\n\nvar https = require(\"https\");\n\nvar url = require(\"url\");\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function 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 key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on(\"error\", function (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 key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this2._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\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: headers\n };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _super.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === \"http:\") {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on(\"error\", function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _super2.call(this, stream);\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders.Range = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === \"http:\") {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on(\"error\", function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _super3.call(this, stream);\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _super4.call(this, stream);\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\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__(5);\n\nvar _content_disposition = __w_pdfjs_require__(221);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\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/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var _n2 = 0; _n2 < matches.length; ++_n2) {\n if (!(_n2 in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n2], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n2 === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (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/* 222 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager = /*#__PURE__*/function () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream = /*#__PURE__*/function () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nvar PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function 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 key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\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 _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n })[\"catch\"](function (reason) {\n if (reason && reason.name === \"AbortError\") {\n return;\n }\n\n throw reason;\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","import FileField from '@/components/generic-fields/FileField'\r\nimport\tPdfViewer from '@/components/visor/PdfViewer'\r\nimport ImgViewer from '@/components/visor/ImgViewer'\r\n\r\nexport default {\r\n props: {\r\n id: {\r\n type: String | Number,\r\n required: false\r\n },\r\n },\r\n components: {FileField, PdfViewer, ImgViewer},\r\n data: () => ({\r\n dtoFormat: null,\r\n fileDtoProperty: null,\r\n mostrarPrevisualizacion: false,\r\n formModel: null,\r\n file: null,\r\n descargando: false,\r\n totalDescarga: null,\r\n progresoDescarga: null,\r\n }),\r\n methods: {\r\n documentoPrevisualizable(nombreDocumento) {\r\n return nombreDocumento && (nombreDocumento.endsWith('.jpg') ||\r\n nombreDocumento.endsWith('.jpeg') ||\r\n nombreDocumento.endsWith('.png') ||\r\n nombreDocumento.endsWith('.bmp') ||\r\n nombreDocumento.endsWith('.pdf') ||\r\n nombreDocumento.endsWith('.mp4'));\r\n },\r\n descargarDocumento () {\r\n this.descargando = true;\r\n this.$http.get(this.fileUrl,\r\n {\r\n responseType: 'blob',\r\n progress (evt) {\r\n if (evt.lengthComputable) {\r\n this.progresoDescarga = evt.loaded;\r\n this.totalDescarga = evt.total;\r\n }\r\n }\r\n }).then(r => {\r\n this.$refs.fileAnchor.download = r.headers.get('content-disposition')\r\n .split(';')\r\n .find(cd => cd.includes('filename'))\r\n .split('=')[1]\r\n .split('\"').join(''); // para quitar el caracter \"\r\n return r.blob();\r\n }).then(\r\n blob => {\r\n const anchor = this.$refs.fileAnchor;\r\n anchor.href = URL.createObjectURL(blob);\r\n anchor.click();\r\n this.descargando = false;\r\n this.progresoDescarga = this.totalDescarga = null;\r\n },\r\n () => {\r\n this.descargando = false;\r\n this.progresoDescarga = this.totalDescarga = null;\r\n }\r\n );\r\n },\r\n },\r\n computed: {\r\n fileUrl() {\r\n return this.file instanceof File ? URL.createObjectURL(this.file) : `${process.env.VUE_APP_ROOT_API}expedientes/${this.id}/descargar`;\r\n },\r\n admitePreVisualizacion() {\r\n return (this.formModel && this.formModel.nombreDocumentoDigital && this.documentoPrevisualizable(this.formModel.nombreDocumentoDigital)) ||\r\n (this.file instanceof File && this.documentoPrevisualizable(this.file.name));\r\n },\r\n fileHintText() {\r\n return this.dtoFormat[this.fileDtoProperty] ? this.dtoFormat[this.fileDtoProperty].hintText : '';\r\n },\r\n },\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"img-viewer\"},[(_vm.cargandoPrevisualizacion)?_c('p',{staticClass:\"text-center mt-3\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":_vm.totalDescarga === null},model:{value:(_vm.progresoDescarga),callback:function ($$v) {_vm.progresoDescarga=$$v},expression:\"progresoDescarga\"}}),_c('br'),_vm._v(\"\\n Cargando imagen \"),(_vm.totalDescarga !== null)?_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"prettyBytes\")(_vm.progresoDescarga))+\"/\"+_vm._s(_vm._f(\"prettyBytes\")(_vm.totalDescarga))+\")\")]):_vm._e(),_c('br'),_c('v-btn',{attrs:{\"type\":\"button\",\"text\":\"\",\"color\":\"danger\"},on:{\"click\":function($event){return _vm.visualizacionRequest.abort()}}},[_c('v-icon',[_vm._v(\"close\")]),_vm._v(\"\\n Cancelar\\n \")],1)],1):_vm._e(),(_vm.archivoBlobUrl)?_c('object',{staticClass:\"mt-3\",attrs:{\"data\":_vm.archivoBlobUrl,\"type\":_vm.mediaType,\"width\":\"auto\",\"height\":\"650\"}},[_c('p',[_vm._v(\"Su navegador no soporta la vista. Por favor, descargue el archivo para verlo.\")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImgViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImgViewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ImgViewer.vue?vue&type=template&id=55c222aa&scoped=true&\"\nimport script from \"./ImgViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./ImgViewer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55c222aa\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VBtn,VIcon,VProgressCircular})\n","/*!\n * vue-dplayer v0.0.10\n * (c) 2017-present sinchang \n * Released under the MIT License.\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.vueDplayer = factory());\n}(this, (function () { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar DPlayer_min = createCommonjsModule(function (module, exports) {\n!function(e,t){module.exports=t();}(\"undefined\"!=typeof self?self:commonjsGlobal,function(){return function(e){function t(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,t), a.l=!0, a.exports}var n={};return t.m=e, t.c=n, t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i});}, t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n), n}, t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}, t.p=\"/\", t(t.s=5)}([function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0});var i=/mobile/i.test(window.navigator.userAgent),a={secondToTime:function(e){var t=function(e){return e<10?\"0\"+e:\"\"+e},n=Math.floor(e/3600),i=Math.floor((e-3600*n)/60),a=Math.floor(e-3600*n-60*i);return(n>0?[n,i,a]:[i,a]).map(t).join(\":\")},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft, n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft, n=n.offsetParent;return t-i},getScrollPosition:function(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition:function(e){var t=e.left,n=void 0===t?0:t,i=e.top,a=void 0===i?0:i;this.isFirefox?(document.documentElement.scrollLeft=n, document.documentElement.scrollTop=a):window.scrollTo(n,a);},isMobile:i,isFirefox:/firefox/i.test(window.navigator.userAgent),isChrome:/chrome/i.test(window.navigator.userAgent),storage:{set:function(e,t){localStorage.setItem(e,t);},get:function(e){return localStorage.getItem(e)}},cumulativeOffset:function(e){var t=0,n=0;do{t+=e.offsetTop||0, n+=e.offsetLeft||0, e=e.offsetParent;}while(e);return{top:t,left:n}},nameMap:{dragStart:i?\"touchstart\":\"mousedown\",dragMove:i?\"touchmove\":\"mousemove\",dragEnd:i?\"touchend\":\"mouseup\"}};t.default=a;},function(e,t,n){var i,a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};i=function(){return this}();try{i=i||Function(\"return this\")()||(eval)(\"this\");}catch(e){\"object\"===(\"undefined\"==typeof window?\"undefined\":a(window))&&(i=window);}e.exports=i;},function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(16),o=i(a),s=n(17),r=i(s),l=n(18),c=i(l),u=n(19),d=i(u),p=n(20),h=i(p),y=n(21),m=i(y),f=n(22),v=i(f),g=n(23),b=i(g),k=n(24),w=i(k),x=n(25),S=i(x),T=n(26),L=i(T),M=n(27),q=i(M),_=n(28),E=i(_),B=n(29),P=i(B),C=n(30),O=i(C),z=n(31),F=i(z),j={play:o.default,pause:r.default,volumeUp:c.default,volumeDown:d.default,volumeOff:h.default,full:m.default,fullWeb:v.default,setting:b.default,right:w.default,comment:S.default,commentOff:L.default,send:q.default,pallette:E.default,camera:P.default,subtitle:O.default,loading:F.default};t.default=j;},function(e,t,n){e.exports=n(33);},function(e,t,n){var i=n(3);e.exports=function(e){e=e||{};var t=\"\",n=e.enableSubtitle,a=e.subtitle,o=e.current,s=e.pic,r=i.$escape,l=e.screenshot,c=e.preload,u=e.url,n=a&&\"webvtt\"===a.type;return t+='\\n\\n \", n&&(t+='\\n \"};},function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}), n(6);var i=n(7),a=function(e){return e&&e.__esModule?e:{default:e}}(i);console.log(\"\\n %c DPlayer v1.22.2 d3847a3 %c http://dplayer.js.org \\n\\n\",\"color: #fadfa3; background: #030307; padding:5px 0;\",\"background: #fadfa3; padding:5px 0;\"), t.default=a.default;},function(e,t){},function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(){function e(e,t){for(var n=0;ne&&this.notice(this.tran(\"REW\")+\" \"+(this.video.currentTime-e).toFixed(0)+\" \"+this.tran(\"s\")), this.video.currentTime=e, this.danmaku&&this.danmaku.seek(), this.bar.set(\"played\",e/this.video.duration,\"width\");}},{key:\"play\",value:function(){var e=this;if(this.paused=!1, this.video.paused&&this.bezel.switch(v.default.play), this.template.playButton.innerHTML=v.default.pause, r.default.resolve(this.video.play()).catch(function(){e.pause();}).then(function(){}), this.time.enable(\"loading\"), this.time.enable(\"progress\"), this.container.classList.remove(\"dplayer-paused\"), this.container.classList.add(\"dplayer-playing\"), this.danmaku&&this.danmaku.play(), this.options.mutex)for(var t=0;t=.95?this.template.volumeIcon.innerHTML=v.default.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=v.default.volumeDown:this.template.volumeIcon.innerHTML=v.default.volumeOff;}},{key:\"volume\",value:function(e,t,n){if(e=parseFloat(e), !isNaN(e)){e=Math.max(e,0), e=Math.min(e,1), this.bar.set(\"volume\",e,\"width\");var i=(100*e).toFixed(0)+\"%\";this.template.volumeBarWrapWrap.dataset.balloon=i, t||this.user.set(\"volume\",e), n||this.notice(this.tran(\"Volume\")+\" \"+(100*e).toFixed(0)+\"%\"), this.video.volume=e, this.video.muted&&(this.video.muted=!1), this.switchVolumeIcon();}return this.video.volume}},{key:\"toggle\",value:function(){this.video.paused?this.play():this.pause();}},{key:\"on\",value:function(e,t){this.events.on(e,t);}},{key:\"switchVideo\",value:function(e,t){this.pause(), this.video.poster=e.pic?e.pic:\"\", this.video.src=e.url, this.initMSE(this.video,e.type||\"auto\"), t&&(this.template.danmakuLoading.style.display=\"block\", this.bar.set(\"played\",0,\"width\"), this.bar.set(\"loaded\",0,\"width\"), this.template.ptime.innerHTML=\"00:00\", this.template.danmaku.innerHTML=\"\", this.danmaku&&this.danmaku.reload({id:t.id,address:t.api,token:t.token,maximum:t.maximum,addition:t.addition,user:t.user}));}},{key:\"initMSE\",value:function(e,t){var n=this;if(this.type=t, this.options.video.customType&&this.options.video.customType[t])\"[object Function]\"===Object.prototype.toString.call(this.options.video.customType[t])?this.options.video.customType[t](this.video,this):console.error(\"Illegal customType: \"+t);else switch(\"auto\"===this.type&&(/m3u8(#|\\?|$)/i.exec(e.src)?this.type=\"hls\":/.flv(#|\\?|$)/i.exec(e.src)?this.type=\"flv\":/.mpd(#|\\?|$)/i.exec(e.src)?this.type=\"dash\":this.type=\"normal\"), this.type){case\"hls\":if(Hls)if(Hls.isSupported()){var i=new Hls;i.loadSource(e.src), i.attachMedia(e);}else this.notice(\"Error: Hls is not supported.\");else this.notice(\"Error: Can't find Hls.\");break;case\"flv\":if(flvjs&&flvjs.isSupported())if(flvjs.isSupported()){var a=flvjs.createPlayer({type:\"flv\",url:e.src});a.attachMediaElement(e), a.load();}else this.notice(\"Error: flvjs is not supported.\");else this.notice(\"Error: Can't find flvjs.\");break;case\"dash\":dashjs?dashjs.MediaPlayer().create().initialize(e,e.src,!1):this.notice(\"Error: Can't find dashjs.\");break;case\"webtorrent\":if(WebTorrent)if(WebTorrent.WEBRTC_SUPPORT){this.container.classList.add(\"dplayer-loading\");var o=new WebTorrent,s=e.src;o.add(s,function(e){e.files.find(function(e){return e.name.endsWith(\".mp4\")}).renderTo(n.video,{autoplay:n.options.autoplay},function(){n.container.classList.remove(\"dplayer-loading\");});});}else this.notice(\"Error: Webtorrent is not supported.\");else this.notice(\"Error: Can't find Webtorrent.\");}}},{key:\"initVideo\",value:function(e,t){var n=this;this.initMSE(e,t), this.on(\"durationchange\",function(){1!==e.duration&&(n.template.dtime.innerHTML=c.default.secondToTime(e.duration));}), this.on(\"progress\",function(){var t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;n.bar.set(\"loaded\",t,\"width\");}), this.on(\"error\",function(){n.tran&&n.notice&&(n.type, n.notice(n.tran(\"This video fails to load\"),-1));}), this.ended=!1, this.on(\"ended\",function(){n.bar.set(\"played\",1,\"width\"), n.setting.loop?(n.seek(0), e.play()):(n.ended=!0, n.pause()), n.danmaku&&(n.danmaku.danIndex=0);}), this.on(\"play\",function(){n.paused&&n.play();}), this.on(\"pause\",function(){n.paused||n.pause();});for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;this.template.notice.innerHTML=e, this.template.notice.style.opacity=i, this.noticeTime&&clearTimeout(this.noticeTime), this.events.trigger(\"notice_show\",e), this.noticeTime=setTimeout(function(){t.template.notice.style.opacity=0, t.events.trigger(\"notice_hide\");},n);}},{key:\"resize\",value:function(){this.danmaku&&this.danmaku.resize(), this.events.trigger(\"resize\");}},{key:\"speed\",value:function(e){this.video.playbackRate=e;}},{key:\"destroy\",value:function(){J.splice(J.indexOf(this),1), this.pause(), this.controller.destroy(), this.time.destroy(), this.video.src=\"\", this.container.innerHTML=\"\", this.events.trigger(\"destroy\");for(var e in this)this.hasOwnProperty(e)&&\"paused\"!==e&&delete this[e];}}]), e}();t.default=Y;},function(e,t,n){(function(t){function n(){}function i(e,t){return function(){e.apply(t,arguments);}}function a(e){if(!(this instanceof a))throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof e)throw new TypeError(\"not a function\");this._state=0, this._handled=!1, this._value=void 0, this._deferreds=[], u(e,this);}function o(e,t){for(;3===e._state;)e=e._value;if(0===e._state)return void e._deferreds.push(t);e._handled=!0, a._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null===n)return void(1===e._state?s:r)(t.promise,e._value);var i;try{i=n(e._value);}catch(e){return void r(t.promise,e)}s(t.promise,i);});}function s(e,t){try{if(t===e)throw new TypeError(\"A promise cannot be resolved with itself.\");if(t&&(\"object\"===(void 0===t?\"undefined\":d(t))||\"function\"==typeof t)){var n=t.then;if(t instanceof a)return e._state=3, e._value=t, void l(e);if(\"function\"==typeof n)return void u(i(n,t),e)}e._state=1, e._value=t, l(e);}catch(t){r(e,t);}}function r(e,t){e._state=2, e._value=t, l(e);}function l(e){2===e._state&&0===e._deferreds.length&&a._immediateFn(function(){e._handled||a._unhandledRejectionFn(e._value);});for(var t=0,n=e._deferreds.length;t=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout();},t));}, n(10), t.setImmediate=setImmediate, t.clearImmediate=clearImmediate;},function(e,t,n){(function(e,t){!function(e,n){function i(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n=200&&o.status<300||304===o.status){var e=JSON.parse(o.responseText);return 0!==e.code?i(o,e):n(o,e)}a(o);}}, o.open(null!==t?\"POST\":\"GET\",e,!0), o.setRequestHeader(\"Content-type\",\"application/json; charset=UTF-8\"), o.send(null!==t?JSON.stringify(t):null);};t.default={send:function(e,t,n){i(e,t,function(e,t){console.log(\"Post danmaku: \",t), n&&n();},function(e,t){alert(t.msg);},function(e){console.log(\"Request was unsuccessful: \"+e.status);});},read:function(e,t){i(e,null,function(e,n){t(null,n.danmaku);},function(e,n){t({status:e.status,response:n});},function(e){t({status:e.status,response:null});});}};},function(e,t,n){function i(e){var t=this;this.lang=e, this.tran=function(e){return a[t.lang]&&a[t.lang][e]?a[t.lang][e]:e};}Object.defineProperty(t,\"__esModule\",{value:!0});var a={\"zh-cn\":{\"Danmaku is loading\":\"\\u5f39\\u5e55\\u52a0\\u8f7d\\u4e2d\",Top:\"\\u9876\\u90e8\",Bottom:\"\\u5e95\\u90e8\",Rolling:\"\\u6eda\\u52a8\",\"Input danmaku, hit Enter\":\"\\u8f93\\u5165\\u5f39\\u5e55\\uff0c\\u56de\\u8f66\\u53d1\\u9001\",\"About author\":\"\\u5173\\u4e8e\\u4f5c\\u8005\",\"DPlayer feedback\":\"\\u64ad\\u653e\\u5668\\u610f\\u89c1\\u53cd\\u9988\",\"About DPlayer\":\"\\u5173\\u4e8e DPlayer \\u64ad\\u653e\\u5668\",Loop:\"\\u6d17\\u8111\\u5faa\\u73af\",Speed:\"\\u901f\\u5ea6\",\"Opacity for danmaku\":\"\\u5f39\\u5e55\\u900f\\u660e\\u5ea6\",Normal:\"\\u6b63\\u5e38\",\"Please input danmaku content!\":\"\\u8981\\u8f93\\u5165\\u5f39\\u5e55\\u5185\\u5bb9\\u554a\\u5582\\uff01\",\"Set danmaku color\":\"\\u8bbe\\u7f6e\\u5f39\\u5e55\\u989c\\u8272\",\"Set danmaku type\":\"\\u8bbe\\u7f6e\\u5f39\\u5e55\\u7c7b\\u578b\",\"Show danmaku\":\"\\u663e\\u793a\\u5f39\\u5e55\",\"This video fails to load\":\"\\u89c6\\u9891\\u52a0\\u8f7d\\u5931\\u8d25\",\"Switching to\":\"\\u6b63\\u5728\\u5207\\u6362\\u81f3\",\"Switched to\":\"\\u5df2\\u7ecf\\u5207\\u6362\\u81f3\",quality:\"\\u753b\\u8d28\",FF:\"\\u5feb\\u8fdb\",REW:\"\\u5feb\\u9000\",\"Unlimited danmaku\":\"\\u6d77\\u91cf\\u5f39\\u5e55\",\"Send danmaku\":\"\\u53d1\\u9001\\u5f39\\u5e55\",Setting:\"\\u8bbe\\u7f6e\",\"Full screen\":\"\\u5168\\u5c4f\",\"Web full screen\":\"\\u9875\\u9762\\u5168\\u5c4f\",Send:\"\\u53d1\\u9001\",Screenshot:\"\\u622a\\u56fe\",s:\"\\u79d2\",\"Show subtitle\":\"\\u663e\\u793a\\u5b57\\u5e55\",\"Hide subtitle\":\"\\u9690\\u85cf\\u5b57\\u5e55\",Volume:\"\\u97f3\\u91cf\",Live:\"\\u76f4\\u64ad\",\"Video info\":\"\\u89c6\\u9891\\u7edf\\u8ba1\\u4fe1\\u606f\"},\"zh-tw\":{\"Danmaku is loading\":\"\\u5f48\\u5e55\\u52a0\\u8f09\\u4e2d\",Top:\"\\u9802\\u90e8\",Bottom:\"\\u5e95\\u90e8\",Rolling:\"\\u6efe\\u52d5\",\"Input danmaku, hit Enter\":\"\\u8f38\\u5165\\u5f48\\u5e55\\uff0cEnter \\u767c\\u9001\",\"About author\":\"\\u95dc\\u65bc\\u4f5c\\u8005\",\"DPlayer feedback\":\"\\u64ad\\u653e\\u5668\\u610f\\u898b\\u53cd\\u994b\",\"About DPlayer\":\"\\u95dc\\u65bc DPlayer \\u64ad\\u653e\\u5668\",Loop:\"\\u5faa\\u74b0\\u64ad\\u653e\",Speed:\"\\u901f\\u5ea6\",\"Opacity for danmaku\":\"\\u5f48\\u5e55\\u900f\\u660e\\u5ea6\",Normal:\"\\u6b63\\u5e38\",\"Please input danmaku content!\":\"\\u8acb\\u8f38\\u5165\\u5f48\\u5e55\\u5185\\u5bb9\\u554a\\uff01\",\"Set danmaku color\":\"\\u8a2d\\u7f6e\\u5f48\\u5e55\\u984f\\u8272\",\"Set danmaku type\":\"\\u8a2d\\u7f6e\\u5f48\\u5e55\\u985e\\u578b\",\"Show danmaku\":\"\\u986f\\u793a\\u5f48\\u5e55\",\"This video fails to load\":\"\\u8996\\u983b\\u52a0\\u8f09\\u5931\\u6557\",\"Switching to\":\"\\u6b63\\u5728\\u5207\\u63db\\u81f3\",\"Switched to\":\"\\u5df2\\u7d93\\u5207\\u63db\\u81f3\",quality:\"\\u756b\\u8cea\",FF:\"\\u5feb\\u9032\",REW:\"\\u5feb\\u9000\",\"Unlimited danmaku\":\"\\u6d77\\u91cf\\u5f48\\u5e55\",\"Send danmaku\":\"\\u767c\\u9001\\u5f48\\u5e55\",Setting:\"\\u8a2d\\u7f6e\",\"Full screen\":\"\\u5168\\u5c4f\",\"Web full screen\":\"\\u9801\\u9762\\u5168\\u5c4f\",Send:\"\\u767c\\u9001\",Screenshot:\"\\u622a\\u5716\",s:\"\\u79d2\",\"Show subtitle\":\"\\u986f\\u793a\\u5b57\\u5e55\",\"Hide subtitle\":\"\\u96b1\\u85cf\\u5b57\\u5e55\",Volume:\"\\u97f3\\u91cf\",Live:\"\\u76f4\\u64ad\",\"Video info\":\"\\u8996\\u983b\\u7d71\\u8a08\\u4fe1\\u606f\"}};t.default=i;},function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(){function e(e,t){for(var n=0;n';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t){e.exports='';},function(e,t,n){var i=n(3);e.exports=function(e){e=e||{};var t=\"\",a=(e.video),o=e.options,s=i.$escape,r=e.tran,l=e.icons,c=e.index,u=i.$each;e.$value, e.$index;return t+='
\\n
\\n ', function(e){t+=e;}(n(4)(a)), t+=\"\\n \", o.logo&&(t+='\\n
\\n \\n \"), t+='\\n ', t+=l.loading, t+='\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n ', o.video.quality&&(t+='\\n
\\n \\n
\\n
\\n ', u(o.video.quality,function(e,n){t+='\\n
\\n \";}), t+=\"\\n
\\n
\\n
\\n \"), t+=\"\\n \", o.screenshot&&(t+='\\n
\\n
\\n \"), t+='\\n
\\n \\n
\\n \", o.subtitle&&(t+='\\n
\\n \\n
\\n \"), t+='\\n
\\n
\\n \";}), t+='\\n
\\n
'};},function(e,t,n){(function(t){function i(e){return\"string\"!=typeof e&&(e=void 0===e||null===e?\"\":\"function\"==typeof e?i(e.call(e)):JSON.stringify(e)), e}function a(e){var t=\"\"+e,n=r.exec(t);if(!n)return e;var i=\"\",a=void 0,o=void 0,s=void 0;for(a=n.index, o=0;a]/;s.$escape=function(e){return a(i(e))}, s.$each=function(e,t){if(Array.isArray(e))for(var n=0,i=e.length;nparseFloat(t.time);)n.push(t), t=this.dan[++this.danIndex];this.draw(n);}window.requestAnimationFrame(function(){e.frame();});}},{key:\"opacity\",value:function(e){if(void 0!==e){for(var t=this.container.getElementsByClassName(\"dplayer-danmaku-item\"),n=0;n'+e[a].text+\"\":o.innerHTML=e[a].text, o.style.opacity=t._opacity, o.style.color=e[a].color, o.addEventListener(\"animationend\",function(){t.container.removeChild(o);});var s=t._measure(e[a].text),r=void 0;switch(e[a].type){case\"right\":r=c(o,e[a].type,s), r>=0&&(o.style.width=s+1+\"px\", o.style.top=n*r+\"px\", o.style.transform=\"translateX(-\"+i+\"px)\");break;case\"top\":r=c(o,e[a].type), r>=0&&(o.style.top=n*r+\"px\");break;case\"bottom\":r=c(o,e[a].type), r>=0&&(o.style.bottom=n*r+\"px\");break;default:console.error(\"Can't handled danmaku type: \"+e[a].type);}r>=0&&(o.classList.add(\"dplayer-danmaku-move\"), u.appendChild(o));}(d);return this.container.appendChild(u), u}}},{key:\"play\",value:function(){this.paused=!1;}},{key:\"pause\",value:function(){this.paused=!0;}},{key:\"_measure\",value:function(e){if(!this.context){var t=getComputedStyle(this.container.getElementsByClassName(\"dplayer-danmaku-item\")[0],null);this.context=document.createElement(\"canvas\").getContext(\"2d\"), this.context.font=t.getPropertyValue(\"font\");}return this.context.measureText(e).width}},{key:\"seek\",value:function(){this.clear();for(var e=0;e=this.options.time()){this.danIndex=e;break}this.danIndex=this.dan.length;}}},{key:\"clear\",value:function(){this.danTunnel={right:{},top:{},bottom:{}}, this.danIndex=0, this.options.container.innerHTML=\"\", this.events&&this.events.trigger(\"danmaku_clear\");}},{key:\"htmlEncode\",value:function(e){return e.replace(/&/g,\"&\").replace(//g,\">\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(/\\//g,\"/\")}},{key:\"resize\",value:function(){for(var e=this.container.offsetWidth,t=this.container.getElementsByClassName(\"dplayer-danmaku-item\"),n=0;n0&&void 0!==arguments[0]?arguments[0]:\"browser\"){case\"browser\":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement;case\"web\":return this.player.container.classList.contains(\"dplayer-fulled\")}}},{key:\"request\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"browser\",t=\"browser\"===e?\"web\":\"browser\",n=this.isFullScreen(t);switch(n||(this.lastScrollPosition=s.default.getScrollPosition()), e){case\"browser\":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen&&this.player.video.webkitEnterFullscreen();break;case\"web\":this.player.container.classList.add(\"dplayer-fulled\"), document.body.classList.add(\"dplayer-web-fullscreen-fix\"), this.player.events.trigger(\"webfullscreen\");}n&&this.cancel(t);}},{key:\"cancel\",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"browser\"){case\"browser\":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen();break;case\"web\":this.player.container.classList.remove(\"dplayer-fulled\"), document.body.classList.remove(\"dplayer-web-fullscreen-fix\"), this.player.events.trigger(\"webfullscreen_cancel\");}}},{key:\"toggle\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"browser\";this.isFullScreen(e)?this.cancel(e):this.request(e);}}]), e}();t.default=r;},function(e,t,n){function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(){function e(e,t){for(var n=0;nt&&!e.player.video.paused&&(e.player.container.classList.remove(\"dplayer-loading\"), i=!1), t=n);},100);}},{key:\"initprogressChecker\",value:function(){var e=this;this.progressChecker=setInterval(function(){if(e.enableprogressChecker){e.player.bar.set(\"played\",e.player.video.currentTime/e.player.video.duration,\"width\");var t=s.default.secondToTime(e.player.video.currentTime);e.player.template.ptime.innerHTML!==t&&(e.player.template.ptime.innerHTML=s.default.secondToTime(e.player.video.currentTime));}},100);}},{key:\"initfpsChecker\",value:function(){var e=this;window.requestAnimationFrame(function(){if(e.enablefpsChecker)if(e.initfpsChecker(), e.fpsStart){e.fpsIndex++;var t=new Date;t-e.fpsStart>1e3&&(e.player.infoPanel.fps(e.fpsIndex/(t-e.fpsStart)*1e3), e.fpsStart=new Date, e.fpsIndex=0);}else e.fpsStart=new Date, e.fpsIndex=0;else e.fpsStart=0, e.fpsIndex=0;});}},{key:\"initinfoChecker\",value:function(){var e=this;this.infoChecker=setInterval(function(){e.enableinfoChecker&&e.player.infoPanel.update();},1e3);}},{key:\"enable\",value:function(e){this[\"enable\"+e+\"Checker\"]=!0, \"fps\"===e&&this.initfpsChecker();}},{key:\"disable\",value:function(e){this[\"enable\"+e+\"Checker\"]=!1;}},{key:\"destroy\",value:function(e){this[e+\"Checker\"]&&clearInterval(this[e+\"Checker\"]);}}]), e}();t.default=r;},function(e,t,n){function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(){function e(e,t){for(var n=0;ne.player.template.playedBarWrap.offsetWidth)return;var a=e.player.video.duration*(i/e.player.template.playedBarWrap.offsetWidth);r.default.isMobile&&e.thumbnails&&e.thumbnails.show(), e.thumbnails&&e.thumbnails.move(i), e.player.template.playedBarTime.style.left=i-20+\"px\", e.player.template.playedBarTime.innerText=r.default.secondToTime(a), e.player.template.playedBarTime.classList.remove(\"hidden\");}}), this.player.template.playedBarWrap.addEventListener(r.default.nameMap.dragEnd,function(){r.default.isMobile&&e.thumbnails&&e.thumbnails.hide();}), r.default.isMobile||(this.player.template.playedBarWrap.addEventListener(\"mouseenter\",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.show(), e.player.template.playedBarTime.classList.remove(\"hidden\"));}), this.player.template.playedBarWrap.addEventListener(\"mouseleave\",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.hide(), e.player.template.playedBarTime.classList.add(\"hidden\"));}));}},{key:\"initFullButton\",value:function(){var e=this;this.player.template.browserFullButton.addEventListener(\"click\",function(){e.player.fullScreen.toggle(\"browser\");}), this.player.template.webFullButton.addEventListener(\"click\",function(){e.player.fullScreen.toggle(\"web\");});}},{key:\"initVolumeButton\",value:function(){var e=this,t=function(t){var n=t||window.event,i=((n.clientX||n.changedTouches[0].clientX)-r.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i);},n=function n(){document.removeEventListener(r.default.nameMap.dragEnd,n), document.removeEventListener(r.default.nameMap.dragMove,t), e.player.template.volumeButton.classList.remove(\"dplayer-volume-active\");};this.player.template.volumeBarWrapWrap.addEventListener(\"click\",function(t){var n=t||window.event,i=((n.clientX||n.changedTouches[0].clientX)-r.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i);}), this.player.template.volumeBarWrapWrap.addEventListener(r.default.nameMap.dragStart,function(){document.addEventListener(r.default.nameMap.dragMove,t), document.addEventListener(r.default.nameMap.dragEnd,n), e.player.template.volumeButton.classList.add(\"dplayer-volume-active\");}), this.player.template.volumeIcon.addEventListener(\"click\",function(){e.player.video.muted?(e.player.video.muted=!1, e.player.switchVolumeIcon(), e.player.bar.set(\"volume\",e.player.volume(),\"width\")):(e.player.video.muted=!0, e.player.template.volumeIcon.innerHTML=d.default.volumeOff, e.player.bar.set(\"volume\",0,\"width\"));});}},{key:\"initQualityButton\",value:function(){var e=this;this.player.options.video.quality&&this.player.template.qualityList.addEventListener(\"click\",function(t){t.target.classList.contains(\"dplayer-quality-item\")&&e.player.switchQuality(t.target.dataset.index);});}},{key:\"initScreenshotButton\",value:function(){var e=this;this.player.options.screenshot&&this.player.template.camareButton.addEventListener(\"click\",function(){var t=document.createElement(\"canvas\");t.width=e.player.video.videoWidth, t.height=e.player.video.videoHeight, t.getContext(\"2d\").drawImage(e.player.video,0,0,t.width,t.height);var n=void 0;t.toBlob(function(e){n=URL.createObjectURL(e);var t=document.createElement(\"a\");t.href=n, t.download=\"DPlayer.png\", t.style.display=\"none\", document.body.appendChild(t), t.click(), document.body.removeChild(t), URL.revokeObjectURL(n);}), e.player.events.trigger(\"screenshot\",n);});}},{key:\"initSubtitleButton\",value:function(){var e=this;this.player.options.subtitle&&(this.player.events.on(\"subtitle_show\",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran(\"Hide subtitle\"), e.player.template.subtitleButtonInner.style.opacity=\"\", e.player.user.set(\"subtitle\",1);}), this.player.events.on(\"subtitle_hide\",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran(\"Show subtitle\"), e.player.template.subtitleButtonInner.style.opacity=\"0.4\", e.player.user.set(\"subtitle\",0);}), this.player.template.subtitleButton.addEventListener(\"click\",function(){e.player.subtitle.toggle();}));}},{key:\"setAutoHide\",value:function(){var e=this;this.show(), clearTimeout(this.autoHideTimer), this.autoHideTimer=setTimeout(function(){!e.player.video.played.length||e.player.paused||e.disableAutoHide||e.hide();},3e3);}},{key:\"show\",value:function(){this.player.container.classList.remove(\"dplayer-hide-controller\");}},{key:\"hide\",value:function(){this.player.container.classList.add(\"dplayer-hide-controller\"), this.player.setting.hide(), this.player.comment&&this.player.comment.hide();}},{key:\"isShow\",value:function(){return!this.player.container.classList.contains(\"dplayer-hide-controller\")}},{key:\"toggle\",value:function(){this.isShow()?this.hide():this.show();}},{key:\"destroy\",value:function(){clearTimeout(this.autoHideTimer);}}]), e}();t.default=p;},function(e,t,n){function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(){function e(e,t){for(var n=0;n=n.width?(this.player.template.menu.style.right=n.width-e+\"px\", this.player.template.menu.style.left=\"initial\"):(this.player.template.menu.style.left=e+\"px\", this.player.template.menu.style.right=\"initial\"), t+this.player.template.menu.offsetHeight>=n.height?(this.player.template.menu.style.bottom=n.height-t+\"px\", this.player.template.menu.style.top=\"initial\"):(this.player.template.menu.style.top=t+\"px\", this.player.template.menu.style.bottom=\"initial\"), this.player.template.mask.classList.add(\"dplayer-mask-show\"), this.player.events.trigger(\"contextmenu_show\");}},{key:\"hide\",value:function(){this.player.template.mask.classList.remove(\"dplayer-mask-show\"), this.player.template.menu.classList.remove(\"dplayer-menu-show\"), this.player.events.trigger(\"contextmenu_hide\");}}]), e}();t.default=s;},function(e,t,n){function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(){function e(e,t){for(var n=0;n 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/index.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=style&index=0&lang=css&\"","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\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, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n});\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n});\nObject.defineProperty(exports, \"TextLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.TextLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"EventBus\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.EventBus;\n }\n});\nObject.defineProperty(exports, \"NullL10n\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.NullL10n;\n }\n});\nObject.defineProperty(exports, \"ProgressBar\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.ProgressBar;\n }\n});\nObject.defineProperty(exports, \"PDFLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.PDFLinkService;\n }\n});\nObject.defineProperty(exports, \"SimpleLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.SimpleLinkService;\n }\n});\nObject.defineProperty(exports, \"DownloadManager\", {\n enumerable: true,\n get: function get() {\n return _download_manager.DownloadManager;\n }\n});\nObject.defineProperty(exports, \"GenericL10n\", {\n enumerable: true,\n get: function get() {\n return _genericl10n.GenericL10n;\n }\n});\nObject.defineProperty(exports, \"PDFFindController\", {\n enumerable: true,\n get: function get() {\n return _pdf_find_controller.PDFFindController;\n }\n});\nObject.defineProperty(exports, \"PDFHistory\", {\n enumerable: true,\n get: function get() {\n return _pdf_history.PDFHistory;\n }\n});\nObject.defineProperty(exports, \"PDFPageView\", {\n enumerable: true,\n get: function get() {\n return _pdf_page_view.PDFPageView;\n }\n});\nObject.defineProperty(exports, \"PDFSinglePageViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n});\nObject.defineProperty(exports, \"PDFViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_viewer.PDFViewer;\n }\n});\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _download_manager = __w_pdfjs_require__(9);\n\nvar _genericl10n = __w_pdfjs_require__(11);\n\nvar _pdf_find_controller = __w_pdfjs_require__(13);\n\nvar _pdf_history = __w_pdfjs_require__(15);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(18);\n\nvar _pdf_viewer = __w_pdfjs_require__(20);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationLayerBuilder = /*#__PURE__*/function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$annotationStorag = _ref.annotationStorage,\n annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,\n _ref$imageResourcesPa = _ref.imageResourcesPath,\n imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n _classCallCheck(this, AnnotationLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.div = null;\n this._cancelled = false;\n }\n\n _createClass(AnnotationLayerBuilder, [{\n key: \"render\",\n value: function render(viewport) {\n var _this = this;\n\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"display\";\n return this.pdfPage.getAnnotations({\n intent: intent\n }).then(function (annotations) {\n if (_this._cancelled) {\n return;\n }\n\n if (annotations.length === 0) {\n return;\n }\n\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: _this.div,\n annotations: annotations,\n page: _this.pdfPage,\n imageResourcesPath: _this.imageResourcesPath,\n renderInteractiveForms: _this.renderInteractiveForms,\n linkService: _this.linkService,\n downloadManager: _this.downloadManager,\n annotationStorage: _this.annotationStorage\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\n _this.pageDiv.appendChild(_this.div);\n\n parameters.div = _this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n _this.l10n.translate(_this.div);\n }\n });\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._cancelled = true;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.div) {\n return;\n }\n\n this.div.setAttribute(\"hidden\", \"true\");\n }\n }]);\n\n return AnnotationLayerBuilder;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nvar DefaultAnnotationLayerFactory = /*#__PURE__*/function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n\n _createClass(DefaultAnnotationLayerFactory, [{\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n,\n annotationStorage: annotationStorage\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar 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/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nvar NullL10n = {\n getLanguage: function getLanguage() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", \"en-us\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getDirection: function getDirection() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", \"ltr\");\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n get: function get(property, args, fallback) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n translate: function translate(element) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n }\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\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 var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var 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 var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var parts = query.split(\"&\");\n var params = Object.create(null);\n\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split(\"=\");\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var 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 var currentIndex = minIndex + maxIndex >> 1;\n var 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 var xinv = 1 / x;\n var 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 var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var 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 var 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 var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var 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 var elt = views[index].div;\n var 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 (var 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(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var 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 var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var 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: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n var i = 0;\n var ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var 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\nfunction normalizeWheelEventDirection(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var 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 var delta = normalizeWheelEventDirection(evt);\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var 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\nvar WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref2) {\n var target = _ref2.target,\n name = _ref2.name,\n _ref2$delay = _ref2.delay,\n delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\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 var 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 var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nvar EventBus = /*#__PURE__*/function () {\n function EventBus(options) {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n var externalListeners;\n eventListeners.slice(0).forEach(function (_ref3) {\n var listener = _ref3.listener,\n external = _ref3.external;\n\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n }, {\n key: \"_on\",\n value: function _on(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener: listener,\n external: (options && options.external) === true\n });\n }\n }, {\n key: \"_off\",\n value: function _off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (var 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 return EventBus;\n}();\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = \"calc(100% - \".concat(scrollbarWidth, \"px)\");\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(5);\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(6)(module)))\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFLinkService = /*#__PURE__*/function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n _ref$externalLinkEnab = _ref.externalLinkEnabled,\n externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,\n _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"navigateTo\",\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0];\n var pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n })[\"catch\"](function () {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n });\n\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: _this._ignoreDestinationZoom\n });\n };\n\n new Promise(function (resolve, reject) {\n if (typeof dest === \"string\") {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n goToDestination(data);\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n var pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n var zoomArgs = params.zoom.split(\",\");\n var zoomArg = zoomArgs[0];\n var 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: \\\"\".concat(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 (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.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\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\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: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n var 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 var zoom = dest[1];\n\n if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n var 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 (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"navigateTo\",\n value: function navigateTo(dest) {}\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return \"#\";\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return \"#\";\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === void 0 ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\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.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._onUpdateTextLayerMatches = null;\n\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: \"_finishRendering\",\n value: function _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n var 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 key: \"render\",\n value: function render() {\n var _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs = [];\n var 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: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n\n _this._finishRendering();\n\n _this._updateMatches();\n }, function (reason) {});\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = function (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 }, {\n key: \"cancel\",\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n }, {\n key: \"setTextContentStream\",\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: \"setTextContent\",\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: \"_convertMatches\",\n value: function _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n var findController = this.findController,\n textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\n var queryLen = findController.state.query.length;\n var result = [];\n\n for (var m = 0, mm = matches.length; m < mm; m++) {\n var 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 var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\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 key: \"_renderMatches\",\n value: function _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n var findController = this.findController,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var isSelectedPage = pageIdx === findController.selected.pageIdx;\n var selectedMatchIdx = findController.selected.matchIdx;\n var highlightAll = findController.state.highlightAll;\n var prevEnd = null;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n\n if (className) {\n var span = document.createElement(\"span\");\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n\n div.appendChild(node);\n }\n\n var 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 (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? \" selected\" : \"\";\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\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 appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (var 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\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: \"_updateMatches\",\n value: function _updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n\n var findController = this.findController,\n matches = this.matches,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var clearedUntilDivIdx = -1;\n\n for (var i = 0, ii = matches.length; i < ii; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController || !findController.highlightMatches) {\n return;\n }\n\n var pageMatches = findController.pageMatches[pageIdx] || null;\n var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n }, {\n key: \"_bindMouse\",\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener(\"mousedown\", function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var 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\", function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n var 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 return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection,\n eventBus: eventBus\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction _download(blobUrl, filename) {\n var 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\nvar DownloadManager = /*#__PURE__*/function () {\n function DownloadManager() {\n _classCallCheck(this, DownloadManager);\n }\n\n _createClass(DownloadManager, [{\n key: \"downloadUrl\",\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n return;\n }\n\n _download(url + \"#pdfjs.action=download\", filename);\n }\n }, {\n key: \"downloadData\",\n value: function downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n return;\n }\n\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL);\n\n _download(blobUrl, filename);\n }\n }, {\n key: \"download\",\n value: function download(blob, url, filename) {\n var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"download\";\n\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n\n return;\n }\n\n if (_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n\n var blobUrl = URL.createObjectURL(blob);\n\n _download(blobUrl, filename);\n }\n }]);\n\n return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.viewerCompatibilityParams = void 0;\nvar compatibilityParams = Object.create(null);\n{\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n var isAndroid = /Android/.test(userAgent);\n var isIE = /Trident/.test(userAgent);\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nvar viewerCompatibilityParams = Object.freeze(compatibilityParams);\nexports.viewerCompatibilityParams = viewerCompatibilityParams;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\n__w_pdfjs_require__(12);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context.sent;\n return _context.abrupt(\"return\", l10n.getLanguage());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }, {\n key: \"getDirection\",\n value: function () {\n var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context2.sent;\n return _context2.abrupt(\"return\", l10n.getDirection());\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }()\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(property, args, fallback) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context3.sent;\n return _context3.abrupt(\"return\", l10n.get(property, args, fallback));\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }()\n }, {\n key: \"translate\",\n value: function () {\n var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(element) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context4.sent;\n return _context4.abrupt(\"return\", l10n.translate(element));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\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 onResourceLoaded() {\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 get(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 getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\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 getReadyState() {\n return gReadyState;\n },\n ready: function ready(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/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_find_utils = __w_pdfjs_require__(14);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\xBC\": \"1/4\",\n \"\\xBD\": \"1/2\",\n \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n }\n\n return text.replace(normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n function PDFFindController(_ref) {\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFFindController);\n\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n _createClass(PDFFindController, [{\n key: \"setDocument\",\n value: function 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 key: \"executeCommand\",\n value: function executeCommand(cmd, state) {\n var _this = this;\n\n if (!state) {\n return;\n }\n\n var pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(function () {\n if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n return;\n }\n\n _this._extractText();\n\n var findbarClosed = !_this._highlightMatches;\n var pendingTimeout = !!_this._findTimeout;\n\n if (_this._findTimeout) {\n clearTimeout(_this._findTimeout);\n _this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n _this._findTimeout = setTimeout(function () {\n _this._nextMatch();\n\n _this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (_this._dirtyMatch) {\n _this._nextMatch();\n } else if (cmd === \"findagain\") {\n _this._nextMatch();\n\n if (findbarClosed && _this._state.highlightAll) {\n _this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\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 key: \"scrollMatchIntoView\",\n value: function scrollMatchIntoView(_ref2) {\n var _ref2$element = _ref2.element,\n element = _ref2$element === void 0 ? null : _ref2$element,\n _ref2$pageIndex = _ref2.pageIndex,\n pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n _ref2$matchIndex = _ref2.matchIndex,\n matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\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 var spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n }, {\n key: \"_reset\",\n value: function _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._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = Object.create(null);\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 key: \"_shouldDirtyMatch\",\n value: function _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n var pageNumber = this._selected.pageIdx + 1;\n var 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 \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_prepareMatches\",\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: \"_isEntireWord\",\n value: function _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n var first = content.charCodeAt(startIdx);\n var limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n var endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n var last = content.charCodeAt(endIdx);\n\n var _limit = content.charCodeAt(endIdx + 1);\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 key: \"_calculatePhraseMatch\",\n value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n matches.push(matchIdx);\n }\n\n this._pageMatches[pageIndex] = matches;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n }, {\n key: \"_calculateMatch\",\n value: function _calculateMatch(pageIndex) {\n var pageContent = this._pageContents[pageIndex];\n var query = this._query;\n var _this$_state = this._state,\n caseSensitive = _this$_state.caseSensitive,\n entireWord = _this$_state.entireWord,\n phraseSearch = _this$_state.phraseSearch;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n }, {\n key: \"_extractText\",\n value: function _extractText() {\n var _this2 = this;\n\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n _this2._pageContents[i] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n _this2._pageContents[i] = \"\";\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: \"_updatePage\",\n value: function _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 key: \"_updateAllPages\",\n value: function _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n }, {\n key: \"_nextMatch\",\n value: function _nextMatch() {\n var _this3 = this;\n\n var previous = this._state.findPrevious;\n var currentPageIndex = this._linkService.page - 1;\n var 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\n this._updateAllPages();\n\n for (var i = 0; i < numPages; i++) {\n if (this._pendingFindMatches[i] === true) {\n continue;\n }\n\n this._pendingFindMatches[i] = true;\n\n this._extractTextPromises[i].then(function (pageIdx) {\n delete _this3._pendingFindMatches[pageIdx];\n\n _this3._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n var offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n var 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\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n }, {\n key: \"_matchesReady\",\n value: function _matchesReady(matches) {\n var offset = this._offset;\n var numMatches = matches.length;\n var previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\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\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_nextPageMatch\",\n value: function _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n var matches = null;\n\n do {\n var 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 key: \"_advanceOffsetPage\",\n value: function _advanceOffsetPage(previous) {\n var offset = this._offset;\n var 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 key: \"_updateMatch\",\n value: function _updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n var 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\n this._updatePage(this._selected.pageIdx);\n }\n }\n }, {\n key: \"_onFindBarClose\",\n value: function _onFindBarClose(evt) {\n var _this4 = this;\n\n var pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(function () {\n if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (_this4._findTimeout) {\n clearTimeout(_this4._findTimeout);\n _this4._findTimeout = null;\n }\n\n if (_this4._resumePageIdx) {\n _this4._resumePageIdx = null;\n _this4._dirtyMatch = true;\n }\n\n _this4._updateUIState(FindState.FOUND);\n\n _this4._highlightMatches = false;\n\n _this4._updateAllPages();\n });\n }\n }, {\n key: \"_requestMatchesCount\",\n value: function _requestMatchesCount() {\n var _this$_selected = this._selected,\n pageIdx = _this$_selected.pageIdx,\n matchIdx = _this$_selected.matchIdx;\n var current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (var i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i] && 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: current,\n total: total\n };\n }\n }, {\n key: \"_updateUIResultsCount\",\n value: function _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"_updateUIState\",\n value: function _updateUIState(state, previous) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state: state,\n previous: previous,\n matchesCount: this._requestMatchesCount(),\n rawQuery: this._state ? this._state.query : null\n });\n }\n }, {\n key: \"highlightMatches\",\n get: function get() {\n return this._highlightMatches;\n }\n }, {\n key: \"pageMatches\",\n get: function get() {\n return this._pageMatches;\n }\n }, {\n key: \"pageMatchesLength\",\n get: function get() {\n return this._pageMatchesLength;\n }\n }, {\n key: \"selected\",\n get: function get() {\n return this._selected;\n }\n }, {\n key: \"state\",\n get: function get() {\n return this._state;\n }\n }, {\n key: \"_query\",\n get: function get() {\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\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar 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/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n function PDFHistory(_ref) {\n var _this = this;\n\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFHistory);\n\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", function (evt) {\n _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n var onPagesLoaded = function onPagesLoaded(evt) {\n _this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n _this._isPagesLoaded = !!evt.pagesCount;\n };\n\n _this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n });\n }\n\n _createClass(PDFHistory, [{\n key: \"initialize\",\n value: function initialize(_ref2) {\n var fingerprint = _ref2.fingerprint,\n _ref2$resetHistory = _ref2.resetHistory,\n resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n _ref2$updateUrl = _ref2.updateUrl,\n updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\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 var 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 var 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 var _this$_parseCurrentHa = this._parseCurrentHash(true),\n hash = _this$_parseCurrentHa.hash,\n page = _this$_parseCurrentHa.page,\n rotation = _this$_parseCurrentHa.rotation;\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\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=\".concat(destination.page);\n }\n }\n }, {\n key: \"reset\",\n value: function 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 key: \"push\",\n value: function push(_ref3) {\n var _this2 = this;\n\n var _ref3$namedDest = _ref3.namedDest,\n namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n explicitDest = _ref3.explicitDest,\n pageNumber = _ref3.pageNumber;\n\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n return;\n } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n }\n\n var hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n var 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: hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this2._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushCurrentPosition\",\n value: function pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n }, {\n key: \"back\",\n value: function back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n }, {\n key: \"forward\",\n value: function forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n }, {\n key: \"_pushOrReplaceState\",\n value: function _pushOrReplaceState(destination) {\n var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var shouldReplace = forceReplace || !this._destination;\n var newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination: destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n var newUrl;\n\n if (this._updateUrl && destination && destination.hash) {\n var baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n this._maxUid = this._uid;\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n }, {\n key: \"_tryPushCurrentPosition\",\n value: function _tryPushCurrentPosition() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._position) {\n return;\n }\n\n var 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 var forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n }, {\n key: \"_isValidState\",\n value: function _isValidState(state) {\n var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\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 var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n perfEntry = _performance$getEntri2[0];\n\n if (!perfEntry || 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 key: \"_updateInternalState\",\n value: function _updateInternalState(destination, uid) {\n var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._numPositionUpdates = 0;\n }\n }, {\n key: \"_parseCurrentHash\",\n value: function _parseCurrentHash() {\n var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var hash = unescape(getCurrentHash()).substring(1);\n var params = (0, _ui_utils.parseQueryString)(hash);\n var nameddest = params.nameddest || \"\";\n var page = params.page | 0;\n\n if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash: hash,\n page: page,\n rotation: this.linkService.rotation\n };\n }\n }, {\n key: \"_updateViewarea\",\n value: function _updateViewarea(_ref4) {\n var _this3 = this;\n\n var location = _ref4.location;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : 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(function () {\n if (!_this3._popStateInProgress) {\n _this3._tryPushCurrentPosition(true);\n }\n\n _this3._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this4 = this;\n\n var state = _ref5.state;\n var newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n hash = _this$_parseCurrentHa2.hash,\n page = _this$_parseCurrentHa2.page,\n rotation = _this$_parseCurrentHa2.rotation;\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: 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, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(function () {\n _this4._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.navigateTo(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(function () {\n _this4._popStateInProgress = false;\n });\n }\n }, {\n key: \"_pageHide\",\n value: function _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n }, {\n key: \"_bindEvents\",\n value: function _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 key: \"_unbindEvents\",\n value: function _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 key: \"popStateInProgress\",\n get: function get() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n }, {\n key: \"initialBookmark\",\n get: function get() {\n return this._initialized ? this._initialBookmark : null;\n }\n }, {\n key: \"initialRotation\",\n get: function get() {\n return this._initialized ? this._initialRotation : null;\n }\n }]);\n\n return PDFHistory;\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 var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),\n nameddest = _parseQueryString.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 (var 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 (var 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/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var 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._annotationStorage = options.annotationStorage || null;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.hasRestrictedScaling = false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = typeof options.renderInteractiveForms === \"boolean\" ? options.renderInteractiveForms : true;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var 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 this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: \"setPdfPage\",\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n }, {\n key: \"_renderAnnotationLayer\",\n value: function () {\n var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var error;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n error = null;\n _context.prev = 1;\n _context.next = 4;\n return this.annotationLayer.render(this.viewport, \"display\");\n\n case 4:\n _context.next = 9;\n break;\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](1);\n error = _context.t0;\n\n case 9:\n _context.prev = 9;\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error: error\n });\n return _context.finish(9);\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 6, 9, 12]]);\n }));\n\n function _renderAnnotationLayer() {\n return _renderAnnotationLayer2.apply(this, arguments);\n }\n\n return _renderAnnotationLayer;\n }()\n }, {\n key: \"_resetZoomLayer\",\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.zoomLayer) {\n return;\n }\n\n var 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 key: \"reset\",\n value: function reset() {\n var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.cancelRendering(keepAnnotations);\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n var childNodes = div.childNodes;\n var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n\n div.removeChild(node);\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else if (this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n\n if (!currentZoomLayerNode) {\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\";\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: \"update\",\n value: function update(scale, rotation) {\n var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n this.scale = scale || this.scale;\n\n if (typeof rotation !== \"undefined\") {\n this.rotation = rotation;\n }\n\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n }\n\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n var isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n var 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(this.canvas, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n\n this.reset(true, true);\n }\n }, {\n key: \"cancelRendering\",\n value: function cancelRendering() {\n var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 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 (!keepAnnotations && this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n }\n }, {\n key: \"cssTransform\",\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var 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 var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n var cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n target.style.transform = cssTransform;\n\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n var textLayerDiv = this.textLayer.textLayerDiv;\n var 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 + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this._renderAnnotationLayer();\n }\n }\n }, {\n key: \"getPagePoint\",\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: \"draw\",\n value: function draw() {\n var _this = this;\n\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n var div = this.div,\n pdfPage = this.pdfPage;\n\n if (!pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var 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 && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n var textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n var 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 && 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);\n }\n\n this.textLayer = textLayer;\n var renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this.renderingQueue.isHighestPriority(_this)) {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n _this.resume = function () {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n var finishPaintTask = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(error) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context2.next = 4;\n break;\n }\n\n _this.error = null;\n return _context2.abrupt(\"return\");\n\n case 4:\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n\n _this._resetZoomLayer(true);\n\n _this.error = error;\n _this.stats = pdfPage.stats;\n\n _this.eventBus.dispatch(\"pagerendered\", {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false,\n timestamp: performance.now()\n });\n\n if (!error) {\n _context2.next = 12;\n break;\n }\n\n throw error;\n\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function finishPaintTask(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this._annotationStorage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\n }\n\n this._renderAnnotationLayer();\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 key: \"paintOnCanvas\",\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement(\"canvas\");\n this.l10n.get(\"page_canvas\", {\n page: this.id\n }, \"Page {{page}}\").then(function (msg) {\n canvas.setAttribute(\"aria-label\", msg);\n });\n canvas.setAttribute(\"hidden\", \"hidden\");\n var isCanvasHidden = true;\n\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.removeAttribute(\"hidden\");\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n\n if (this.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n\n if (this.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var 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 var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n enableWebGL: this.enableWebGL,\n renderInteractiveForms: this.renderInteractiveForms,\n optionalContentConfigPromise: this._optionalContentConfigPromise\n };\n var 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(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: \"paintOnSvg\",\n value: function paintOnSvg(wrapper) {\n var _this2 = this;\n\n var cancelled = false;\n\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(\"Rendering cancelled, page \".concat(_this2.id), \"svg\");\n }\n };\n\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n var promise = pdfPage.getOperatorList().then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this2.svg = svg;\n\n _this2.paintedViewportMap.set(svg, actualSizeViewport);\n\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: \"setPageLabel\",\n value: function 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 key: \"width\",\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.viewport.height;\n }\n }]);\n\n return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\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 _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function 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.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\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 key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw()[\"finally\"](function () {\n _this.renderHighestPriority();\n })[\"catch\"](function (reason) {\n console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n });\n break;\n }\n\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFSinglePageViewer, _BaseViewer);\n\n var _super = _createSuper(PDFSinglePageViewer);\n\n function PDFSinglePageViewer(options) {\n var _this;\n\n _classCallCheck(this, PDFSinglePageViewer);\n\n _this = _super.call(this, options);\n\n _this.eventBus._on(\"pagesinit\", function (evt) {\n _this._ensurePageViewVisible();\n });\n\n return _this;\n }\n\n _createClass(PDFSinglePageViewer, [{\n key: \"_resetView\",\n value: function _resetView() {\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n }, {\n key: \"_ensurePageViewVisible\",\n value: function _ensurePageViewVisible() {\n var pageView = this._pages[this._currentPageNumber - 1];\n var previousPageView = this._pages[this._previousPageNumber - 1];\n var viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var _this2 = this;\n\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n\n this._updateScrollDown = function () {\n _this2.scroll.down = scrolledDown;\n _this2._updateScrollDown = null;\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {}\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {}\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {}\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n }]);\n\n return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n var data = [];\n\n this.push = function (view) {\n var i = data.indexOf(view);\n\n if (i >= 0) {\n data.splice(i, 1);\n }\n\n data.push(view);\n\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.resize = function (newSize, pagesToKeep) {\n size = newSize;\n\n if (pagesToKeep) {\n var pageIdsToKeep = new Set();\n\n for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n pageIdsToKeep.add(pagesToKeep[i].id);\n }\n\n (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n return pageIdsToKeep.has(page.id);\n });\n }\n\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n}\n\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n function BaseViewer(options) {\n var _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (!(this.container instanceof HTMLDivElement && this.viewer instanceof HTMLDivElement)) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\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.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = typeof options.renderInteractiveForms === \"boolean\" ? options.renderInteractiveForms : true;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _ui_utils.NullL10n;\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.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 Promise.resolve().then(function () {\n _this.eventBus.dispatch(\"baseviewerinit\", {\n source: _this\n });\n });\n }\n\n _createClass(BaseViewer, [{\n key: \"getPageView\",\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: \"_setCurrentPageNumber\",\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\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 this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n }, {\n key: \"_onePageRenderedOrForceFetch\",\n value: function _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var _this2 = this;\n\n if (this.pdfDocument) {\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n var pagesCount = pdfDocument.numPages;\n var firstPagePromise = pdfDocument.getPage(1);\n var annotationStorage = pdfDocument.annotationStorage;\n var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\n\n this._pagesCapability.promise.then(function () {\n _this2.eventBus.dispatch(\"pagesloaded\", {\n source: _this2,\n pagesCount: pagesCount\n });\n });\n\n this._onBeforeDraw = function (evt) {\n var pageView = _this2._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n _this2._buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = function (evt) {\n if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {\n return;\n }\n\n _this2._onePageRenderedCapability.resolve();\n\n _this2.eventBus._off(\"pagerendered\", _this2._onAfterDraw);\n\n _this2._onAfterDraw = null;\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n firstPagePromise.then(function (firstPdfPage) {\n _this2._firstPageCapability.resolve(firstPdfPage);\n\n _this2._optionalContentConfigPromise = optionalContentConfigPromise;\n var scale = _this2.currentScale;\n var viewport = firstPdfPage.getViewport({\n scale: scale * _ui_utils.CSS_UNITS\n });\n var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;\n\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this2._viewerElement,\n eventBus: _this2.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n annotationStorage: annotationStorage,\n optionalContentConfigPromise: optionalContentConfigPromise,\n renderingQueue: _this2.renderingQueue,\n textLayerFactory: textLayerFactory,\n textLayerMode: _this2.textLayerMode,\n annotationLayerFactory: _this2,\n imageResourcesPath: _this2.imageResourcesPath,\n renderInteractiveForms: _this2.renderInteractiveForms,\n renderer: _this2.renderer,\n enableWebGL: _this2.enableWebGL,\n useOnlyCssZoom: _this2.useOnlyCssZoom,\n maxCanvasPixels: _this2.maxCanvasPixels,\n l10n: _this2.l10n\n });\n\n _this2._pages.push(pageView);\n }\n\n var firstPageView = _this2._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n\n _this2.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {\n _this2._updateSpreadMode();\n }\n\n _this2._onePageRenderedOrForceFetch().then(function () {\n if (_this2.findController) {\n _this2.findController.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this2._pages[_pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n }, function (reason) {\n console.error(\"Unable to get page \".concat(_pageNum, \" to initialize viewer\"), reason);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n });\n };\n\n for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n\n _this2.eventBus.dispatch(\"pagesinit\", {\n source: _this2\n });\n\n if (_this2.defaultRenderingQueue) {\n _this2.update();\n }\n })[\"catch\"](function (reason) {\n console.error(\"Unable to initialize viewer\", reason);\n });\n }\n }, {\n key: \"setPageLabels\",\n value: function 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(\"\".concat(this._name, \".setPageLabels: Invalid page labels.\"));\n } else {\n this._pageLabels = labels;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n var label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n }, {\n key: \"_resetView\",\n value: function _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._pagesRequests = new WeakMap();\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._spreadMode = _ui_utils.SpreadMode.NONE;\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 this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n }, {\n key: \"_setScaleUpdatePages\",\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, 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 for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n var 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 }, {\n key: \"_setScale\",\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n var noPadding = this.isInPresentationMode || this.removePageBorders;\n var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n var _ref2 = [vPadding, hPadding];\n hPadding = _ref2[0];\n vPadding = _ref2[1];\n }\n\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var 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 var 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(\"\".concat(this._name, \"._setScale: \\\"\").concat(value, \"\\\" is an unknown zoom value.\"));\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: \"_resetCurrentPageView\",\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n }, {\n key: \"scrollPageIntoView\",\n value: function scrollPageIntoView(_ref3) {\n var pageNumber = _ref3.pageNumber,\n _ref3$destArray = _ref3.destArray,\n destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(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 var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale,\n heightScale;\n var changeOrientation = pageView.rotation % 180 !== 0;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var 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 }\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 var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(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({\n pageDiv: pageView.div,\n pageNumber: pageNumber\n });\n\n return;\n }\n\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var 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({\n pageDiv: pageView.div,\n pageSpot: {\n left: left,\n top: top\n },\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_updateLocation\",\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n }, {\n key: \"update\",\n value: function update() {\n var visible = this._getVisiblePages();\n\n var visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n }, {\n key: \"containsElement\",\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: \"_getCurrentVisiblePage\",\n value: function _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n var element = pageView.div;\n var view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is out of bounds.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: \"_cancelRendering\",\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: \"_ensurePdfPageLoaded\",\n value: function _ensurePdfPageLoaded(pageView) {\n var _this3 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this3._pagesRequests[\"delete\"](pageView);\n\n return pdfPage;\n })[\"catch\"](function (reason) {\n console.error(\"Unable to get page for page view\", reason);\n\n _this3._pagesRequests[\"delete\"](pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n }, {\n key: \"forceRendering\",\n value: function forceRendering(currentlyVisiblePages) {\n var _this4 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this4.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n }, {\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n annotationStorage: annotationStorage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: \"getPagesOverview\",\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n\n return pagesOverview.map(function (size) {\n if ((0, _ui_utils.isPortraitOrientation)(size)) {\n return size;\n }\n\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var 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 (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 key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var viewer = this.viewer,\n pages = this._pages;\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (var i = 0, iMax = pages.length; i < iMax; ++i) {\n viewer.appendChild(pages[i].div);\n }\n } else {\n var parity = this._spreadMode - 1;\n var spread = null;\n\n for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_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 if (!pageNumber) {\n return;\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: \"pageViewsReady\",\n get: function get() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView && pageView.pdfPage;\n });\n }\n }, {\n key: \"currentPageNumber\",\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(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(\"\".concat(this._name, \".currentPageNumber: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentPageLabel\",\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var page = val | 0;\n\n if (this._pageLabels) {\n var 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(\"\".concat(this._name, \".currentPageLabel: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentScale\",\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(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 key: \"currentScaleValue\",\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"pagesRotation\",\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(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 if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n var pageNumber = this._currentPageNumber;\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\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: pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"firstPagePromise\",\n get: function get() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n }, {\n key: \"onePageRendered\",\n get: function get() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n }, {\n key: \"pagesPromise\",\n get: function get() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"isInPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n }, {\n key: \"isChangingPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n }, {\n key: \"isHorizontalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: \"isVerticalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n }, {\n key: \"hasEqualPageSizes\",\n get: function get() {\n var firstPageView = this._pages[0];\n\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var 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 key: \"optionalContentConfigPromise\",\n get: function get() {\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 set: function set(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(\"Invalid optionalContentConfigPromise: \".concat(promise));\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._optionalContentConfigPromise) {\n return;\n }\n\n this._optionalContentConfigPromise = promise;\n\n var _iterator = _createForOfIteratorHelper(this._pages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var pageView = _step.value;\n pageView.update(pageView.scale, pageView.rotation, promise);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.update();\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise: promise\n });\n }\n }, {\n key: \"scrollMode\",\n get: function get() {\n return this._scrollMode;\n },\n set: function set(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(\"Invalid scroll mode: \".concat(mode));\n }\n\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n }, {\n key: \"spreadMode\",\n get: function get() {\n return this._spreadMode;\n },\n set: function set(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(\"Invalid spread mode: \".concat(mode));\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n }]);\n\n return BaseViewer;\n}();\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFViewer, _BaseViewer);\n\n var _super = _createSuper(PDFViewer);\n\n function PDFViewer() {\n _classCallCheck(this, PDFViewer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PDFViewer, [{\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (!pageSpot && !this.isInPresentationMode) {\n var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n var right = left + pageDiv.clientWidth;\n var _this$container = this.container,\n scrollLeft = _this$container.scrollLeft,\n clientWidth = _this$container.clientWidth;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n var currentId = this._currentPageNumber;\n var stillFullyVisible = false;\n\n var _iterator = _createForOfIteratorHelper(visiblePages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var page = _step.value;\n\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n }]);\n\n return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf_viewer.js.map","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/index.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!./annotationLayer.css?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}