{"version":3,"sources":["webpack:///./node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.js","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?bd30","webpack:///./node_modules/vue-pdf/src/componentFactory.js","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue?14b0","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?fa87","webpack:///./node_modules/vue-pdf/src/pdfjsWrapper.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/vue-pdf/src/annotationLayer.css?35c5","webpack:///./node_modules/core-js/internals/define-built-in-accessor.js","webpack:///./node_modules/pdfjs-dist/es5/web/pdf_viewer.js"],"names":["module","exports","Worker","nextTick","fn","args","Array","prototype","slice","call","arguments","shift","setTimeout","apply","platform","arch","execPath","title","pid","browser","env","argv","binding","name","Error","path","cwd","chdir","dir","resolve","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","root","factory","this","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","m","c","d","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","hasOwnProperty","p","s","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","createObjectURL","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","url","deprecated","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","BaseCMapReaderFactory","DOMCanvasFactory","BaseCanvasFactory","DEFAULT_LINK_REL","PageViewport","_regenerator","_interopRequireDefault","obj","_createForOfIteratorHelper","allowArrayLike","it","iterator","isArray","_unsupportedIterableToArray","length","F","done","e","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","minLen","_arrayLikeToArray","toString","constructor","from","test","arr","len","arr2","asyncGeneratorStep","gen","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","self","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","props","descriptor","_createClass","protoProps","staticProps","SVG_NS","unreachable","width","height","canvasAndContext","canvas","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","Uint8Array","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","_x2","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","status","responseText","send","assert","svg","createElementNS","setAttribute","type","_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","onclick","targetStr","anchor","indexOf","query","end","min","substring","lastIndexOf","pdfDateStringRegex","started","times","warn","now","push","start","_step","outBuf","longest","_iterator","time","_step2","_iterator2","_time","duration","padEnd","join","Response","ReadableStream","_ref8","URL","protocol","ex","src","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","reset","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","Number","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","String","fromCharCode","strBuf","chunkEnd","chunk","subarray","charCodeAt","byteLength","resultLength","pos","data","_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","Blob","ii","b1","b2","b3","d1","d2","d3","d4","_is_node","_pdfjsCompatibilityChecked","hasDOM","window","userAgent","navigator","isIE","btoa","chars","Buffer","atob","Element","remove","parentNode","removeChild","div","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","startsWith","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","options","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","split","isObject","PREFERRED_STRING","val","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","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","style","display","contentWindow","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","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","handler","fail","rejection","onHandleUnhandled","enter","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","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","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","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","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","abort","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","_c","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","default","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_e3","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_s","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","destroyed","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","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","loaded","total","_step3","_iterator3","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","annotationStorage","saveDocument","AnnotationStorage","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","_intentStates","_ref3$rotation","rotate","_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","on","_this9","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this10","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this11","page","_destroy","terminated","cancelAllRequests","_this12","sink","getFullReader","evt","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","h","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","expression","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","render","_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","expand","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","statusCode","_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","lengthComputable","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","credentials","redirect","createHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","_yield$this$_reader$r","_yield$this$_reader$r2","initial","$el","shrink","lastChild","scrollLeft","scrollTop","update","offsetWidth","offsetHeight","watch","deep","$emit","styleChild","scroll","beforeDestroy","mounted","$nextTick","offsetParent","onresizeHandler","removeOnresizeEvent","detachEvent","$off","attachEvent","$on","__exports__","createLoadingTask","pdfjsWrapper","PDFJSWrapper","attrs","class","resize","pdf","loadDocument","loadPage","renderPage","$refs","resolutionScale","getResolutionScale","print","dpi","pageList","printPage","annotationLayer","VUE_ENV","require","PDFJS","appVersion","PdfjsWorker","component","componentFactory","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","focus","queryCommandSupported","execCommand","removeIframe","catch","pageRotate","devicePixelRatio","viewer","scrollPageIntoView","setDocument","setViewer","getAnnotationsOperation","pdfRenderOperation","forEachPage","pageCallback","pageNum","reasonStr","ratio","normalizeArray","allowAboveRoot","up","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","substr","relative","to","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","makeBuiltIn","_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","offsetTop","clientTop","offsetLeft","clientLeft","clientHeight","scrollHeight","clientWidth","scrollWidth","getComputedStyle","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","preventDefault","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","bar","_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","createDocumentFragment","_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","getPropertyValue","divBounds","getBoundingClientRect","pageY","_viewer_compatibility","blobUrl","click","download","msSaveBlob","viewerCompatibilityParams","disableCreateObjectURL","downloadUrl","maxTouchPoints","isAndroid","isIOS","isIOSChrome","maxCanvasPixels","webL10n","lang","_lang","_ready","setLanguage","_getLanguage","_getDirection","_x3","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","querySelectorAll","getL10nDictionary","innerHTML","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","load","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","insertBefore","childElementCount","translateFragment","elementCount","plural","_pluralRules","fallbackString","getText","rtlList","shortCode","getReadyState","once","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","active","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","hide","_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","draw","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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EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,GACP,GAAM,EACN,GAAM,EACN,IAAO,GACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,GACN,IAAO,GACP,GAAM,GACN,GAAM,GACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,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","file":"js/chunk-9e766dea.3d24fcb4.js","sourcesContent":["module.exports = function() {\n return new Worker(__webpack_public_path__ + \"cbbef6bb78c00c23f875.worker.js\");\n};","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\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 += \"\" + (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","\r\n\r\n\r\n","import script from \"./resize-sensor.vue?vue&type=script&lang=js\"\nexport * from \"./resize-sensor.vue?vue&type=script&lang=js\"\n\nimport \"./resize-sensor.vue?vue&type=style&index=0&id=38cddd49&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","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","import script from \"./vuePdfNoSss.vue?vue&type=script&lang=js\"\nexport * from \"./vuePdfNoSss.vue?vue&type=script&lang=js\"\n\nimport \"./annotationLayer.css?vue&type=style&index=0&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../vue-loader-v16/dist/stylePostLoader.js!../../postcss-loader/src/index.js??ref--7-oneOf-1-2!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader-v16/dist/index.js??ref--1-1!./resize-sensor.vue?vue&type=style&index=0&id=38cddd49&lang=css\"","import { PDFLinkService } from 'pdfjs-dist/es5/web/pdf_viewer';\r\n\r\nvar pendingOperation = Promise.resolve();\r\n\r\nexport default function(PDFJS) {\r\n\r\n\tfunction isPDFDocumentLoadingTask(obj) {\r\n\r\n\t\treturn typeof(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true;\r\n\t\t// or: return obj.constructor.name === 'PDFDocumentLoadingTask';\r\n\t}\r\n\r\n\tfunction createLoadingTask(src, options) {\r\n\r\n\t\tvar source;\r\n\t\tif ( typeof(src) === 'string' )\r\n\t\t\tsource = { url: src };\r\n\t\telse if ( src instanceof Uint8Array )\r\n\t\t\tsource = { data: src };\r\n\t\telse if ( typeof(src) === 'object' && src !== null )\r\n\t\t\tsource = Object.assign({}, src);\r\n\t\telse\r\n\t\t\tthrow new TypeError('invalid src type');\r\n\r\n\t\t// source.verbosity = PDFJS.VerbosityLevel.INFOS;\r\n\t\t// source.pdfBug = true;\r\n\t\t// source.stopAtErrors = true;\r\n\r\n\t\tif ( options && options.withCredentials )\r\n\t\t\tsource.withCredentials = options.withCredentials;\r\n\r\n\t\tvar loadingTask = PDFJS.getDocument(source);\r\n\t\tloadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public\r\n\r\n\t\tif ( options && options.onPassword )\r\n\t\t\tloadingTask.onPassword = options.onPassword;\r\n\r\n\t\tif ( options && options.onProgress )\r\n\t\t\tloadingTask.onProgress = options.onProgress;\r\n\r\n\t\treturn loadingTask;\r\n\t}\r\n\r\n\r\n\tfunction PDFJSWrapper(canvasElt, annotationLayerElt, emitEvent) {\r\n\r\n\t\tvar pdfDoc = null;\r\n\t\tvar pdfPage = null;\r\n\t\tvar pdfRender = null;\r\n\t\tvar canceling = false;\r\n\r\n\t\tcanvasElt.getContext('2d').save();\r\n\r\n\t\tfunction clearCanvas() {\r\n\r\n\t\t\tcanvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);\r\n\t\t}\r\n\r\n\t\tfunction clearAnnotations() {\r\n\r\n\t\t\twhile ( annotationLayerElt.firstChild )\r\n\t\t\t\tannotationLayerElt.removeChild(annotationLayerElt.firstChild);\r\n\t\t}\r\n\r\n\t\tthis.destroy = function() {\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// Aborts all network requests and destroys worker.\r\n\t\t\tpendingOperation = pdfDoc.destroy();\r\n\t\t\tpdfDoc = null;\r\n\t\t}\r\n\r\n\t\tthis.getResolutionScale = function() {\r\n\r\n\t\t\treturn canvasElt.offsetWidth / canvasElt.width;\r\n\t\t}\r\n\r\n\t\tthis.printPage = function(dpi, pageNumberOnly) {\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// 1in == 72pt\r\n\t\t\t// 1in == 96px\r\n\t\t\tvar PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;\r\n\t\t\tvar PRINT_UNITS = PRINT_RESOLUTION / 72.0;\r\n\t\t\tvar CSS_UNITS = 96.0 / 72.0;\r\n\r\n\t\t\tvar iframeElt = document.createElement('iframe');\r\n\r\n\t\t\tfunction removeIframe() {\r\n\r\n\t\t\t\tiframeElt.parentNode.removeChild(iframeElt);\r\n\t\t\t}\r\n\r\n\t\t\tnew Promise(function(resolve, reject) {\r\n\r\n\t\t\t\tiframeElt.frameBorder = '0';\r\n\t\t\t\tiframeElt.scrolling = 'no';\r\n\t\t\t\tiframeElt.width = '0px;'\r\n\t\t\t\tiframeElt.height = '0px;'\r\n\t\t\t\tiframeElt.style.cssText = 'position: absolute; top: 0; left: 0';\r\n\r\n\t\t\t\tiframeElt.onload = function() {\r\n\r\n\t\t\t\t\tresolve(this.contentWindow);\r\n\t\t\t\t}\r\n\r\n\t\t\t\twindow.document.body.appendChild(iframeElt);\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\twin.document.title = '';\r\n\r\n\t\t\t\treturn pdfDoc.getPage(1)\r\n\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\t\t\t\t\twin.document.head.appendChild(win.document.createElement('style')).textContent =\r\n\t\t\t\t\t\t'@supports ((size:A4) and (size:1pt 1pt)) {' +\r\n\t\t\t\t\t\t\t'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +\r\n\t\t\t\t\t\t'}' +\r\n\r\n\t\t\t\t\t\t'@media print {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t\t'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t'@media screen {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\treturn win;\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\tvar allPages = [];\r\n\r\n\t\t\t\tfor ( var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber ) {\r\n\r\n\t\t\t\t\tif ( pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1 )\r\n\t\t\t\t\t\tcontinue;\r\n\r\n\t\t\t\t\tallPages.push(\r\n\t\t\t\t\t\tpdfDoc.getPage(pageNumber)\r\n\t\t\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\r\n\t\t\t\t\t\t\tvar printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));\r\n\t\t\t\t\t\t\tprintCanvasElt.width = (viewport.width * PRINT_UNITS);\r\n\t\t\t\t\t\t\tprintCanvasElt.height = (viewport.height * PRINT_UNITS);\r\n\r\n\t\t\t\t\t\t\treturn page.render({\r\n\t\t\t\t\t\t\t\tcanvasContext: printCanvasElt.getContext('2d'),\r\n\t\t\t\t\t\t\t\ttransform: [ // Additional transform, applied just before viewport transform.\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0,\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\tviewport: viewport,\r\n\t\t\t\t\t\t\t\tintent: 'print'\r\n\t\t\t\t\t\t\t}).promise;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tPromise.all(allPages)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\twin.focus(); // Required for IE\r\n\t\t\t\t\tif (win.document.queryCommandSupported('print')) {\r\n\t\t\t\t\t\twin.document.execCommand('print', false, null);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\twin.print();\r\n\t\t\t\t\t }\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tthis.renderPage = function(rotate) {\r\n\t\t\tif ( pdfRender !== null ) {\r\n\r\n\t\t\t\tif ( canceling )\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcanceling = true;\r\n\t\t\t\tpdfRender.cancel().catch(function(err) {\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar pageRotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);\r\n\r\n\t\t\tvar scale = canvasElt.offsetWidth / pdfPage.getViewport({ scale: 1 }).width * (window.devicePixelRatio || 1);\r\n\t\t\tvar viewport = pdfPage.getViewport({ scale: scale, rotation:pageRotate });\r\n\r\n\t\t\temitEvent('page-size', viewport.width, viewport.height, scale);\r\n\r\n\t\t\tcanvasElt.width = viewport.width;\r\n\t\t\tcanvasElt.height = viewport.height;\r\n\r\n\t\t\tpdfRender = pdfPage.render({\r\n\t\t\t\tcanvasContext: canvasElt.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t});\r\n\r\n\t\t\tannotationLayerElt.style.visibility = 'hidden';\r\n\t\t\tclearAnnotations();\r\n\r\n\t\t\tvar viewer = {\r\n\t\t\t\tscrollPageIntoView: function(params) {\r\n\t\t\t\t\temitEvent('link-clicked', params.pageNumber)\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t\tvar linkService = new PDFLinkService();\r\n\t\t\tlinkService.setDocument(pdfDoc);\r\n\t\t\tlinkService.setViewer(viewer);\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar getAnnotationsOperation =\r\n\t\t\t\tpdfPage.getAnnotations({ intent: 'display' })\r\n\t\t\t\t.then(function(annotations) {\r\n\r\n\t\t\t\t\tPDFJS.AnnotationLayer.render({\r\n\t\t\t\t\t\tviewport: viewport.clone({ dontFlip: true }),\r\n\t\t\t\t\t\tdiv: annotationLayerElt,\r\n\t\t\t\t\t\tannotations: annotations,\r\n\t\t\t\t\t\tpage: pdfPage,\r\n\t\t\t\t\t\tlinkService: linkService,\r\n\t\t\t\t\t\trenderInteractiveForms: false\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar pdfRenderOperation =\r\n\t\t\t\tpdfRender.promise\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tannotationLayerElt.style.visibility = '';\r\n\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t\tif ( err instanceof PDFJS.RenderingCancelledException ) {\r\n\r\n\t\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t}.bind(this))\r\n\r\n\t\t\t\treturn Promise.all([getAnnotationsOperation, pdfRenderOperation]);\r\n\t\t\t}.bind(this));\r\n\t\t}\r\n\r\n\r\n\t\tthis.forEachPage = function(pageCallback) {\r\n\r\n\t\t\tvar numPages = pdfDoc.numPages;\r\n\r\n\t\t\t(function next(pageNum) {\r\n\r\n\t\t\t\tpdfDoc.getPage(pageNum)\r\n\t\t\t\t.then(pageCallback)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tif ( ++pageNum <= numPages )\r\n\t\t\t\t\t\tnext(pageNum);\r\n\t\t\t\t})\r\n\t\t\t})(1);\r\n\t\t}\r\n\r\n\r\n\t\tthis.loadPage = function(pageNumber, rotate) {\r\n\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\treturn pdfDoc.getPage(pageNumber);\r\n\t\t\t})\r\n\t\t\t.then(function(page) {\r\n\r\n\t\t\t\tpdfPage = page;\r\n\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\temitEvent('page-loaded', page.pageNumber);\r\n\t\t\t}.bind(this))\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.loadDocument = function(src) {\r\n\r\n\t\t\tpdfDoc = null;\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\temitEvent('num-pages', undefined);\r\n\r\n\t\t\tif ( !src ) {\r\n\r\n\t\t\t\tcanvasElt.removeAttribute('width');\r\n\t\t\t\tcanvasElt.removeAttribute('height');\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// wait for pending operation ends\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar loadingTask;\r\n\t\t\t\tif ( isPDFDocumentLoadingTask(src) ) {\r\n\r\n\t\t\t\t\tif ( src.destroyed ) {\r\n\r\n\t\t\t\t\t\temitEvent('error', new Error('loadingTask has been destroyed'));\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tloadingTask = src;\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tloadingTask = createLoadingTask(src, {\r\n\t\t\t\t\t\tonPassword: function(updatePassword, reason) {\r\n\r\n\t\t\t\t\t\t\tvar reasonStr;\r\n\t\t\t\t\t\t\tswitch (reason) {\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.NEED_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'NEED_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.INCORRECT_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'INCORRECT_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\temitEvent('password', updatePassword, reasonStr);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tonProgress: function(status) {\r\n\r\n\t\t\t\t\t\t\tvar ratio = status.loaded / status.total;\r\n\t\t\t\t\t\t\temitEvent('progress', Math.min(ratio, 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn loadingTask.promise;\r\n\t\t\t})\r\n\t\t\t.then(function(pdf) {\r\n\r\n\t\t\t\tpdfDoc = pdf;\r\n\t\t\t\temitEvent('num-pages', pdf.numPages);\r\n\t\t\t\temitEvent('loaded');\r\n\t\t\t})\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tannotationLayerElt.style.transformOrigin = '0 0';\r\n\t}\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\tPDFJSWrapper: PDFJSWrapper,\r\n\t}\r\n}\r\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../vue-loader-v16/dist/stylePostLoader.js!../../postcss-loader/src/index.js??ref--7-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css\"","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","/**\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"],"sourceRoot":""}