{"version":3,"sources":["webpack:///./node_modules/url/url.js","webpack:///./node_modules/lodash/throttle.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_createRange.js","webpack:///./node_modules/vuetify-loader/lib/runtime/installDirectives.js","webpack:///./src/components/pdf/PDFPage.vue?80bf","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./src/components/pdf/PDFViewer.vue?d5f0","webpack:///./node_modules/url/util.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/_baseRange.js","webpack:///./node_modules/lodash/range.js","webpack:///./node_modules/intersection-observer/intersection-observer.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./src/components/pdf/PDFViewer.vue?eda2","webpack:///./src/components/pdf/PDFDocument.vue?59f4","webpack:///./src/components/pdf/ScrollingDocument.vue?b10f","webpack:///./src/directives/scroll.js","webpack:///./src/directives/visible.js","webpack:///./src/components/pdf/ScrollingPage.vue","webpack:///src/components/pdf/ScrollingPage.vue","webpack:///./src/components/pdf/ScrollingPage.vue?c4d5","webpack:///src/components/pdf/ScrollingDocument.vue","webpack:///./src/components/pdf/ScrollingDocument.vue?f5de","webpack:///./src/components/pdf/ScrollingDocument.vue","webpack:///./src/components/pdf/PDFPage.vue?8e85","webpack:///src/components/pdf/PDFPage.vue","webpack:///./src/components/pdf/PDFPage.vue?d34a","webpack:///./src/components/pdf/PDFPage.vue?cb55","webpack:///src/components/pdf/PDFDocument.vue","webpack:///./src/components/pdf/PDFDocument.vue?9805","webpack:///./src/components/pdf/PDFDocument.vue?d898","webpack:///src/components/pdf/PDFData.vue","webpack:///./src/components/pdf/PDFData.vue","webpack:///./src/components/pdf/PDFData.vue?7880","webpack:///src/components/pdf/PDFViewer.vue","webpack:///./src/components/pdf/PDFViewer.vue?1e2f","webpack:///./src/components/pdf/PDFViewer.vue?e81a","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/pdfjs-dist/build/pdf.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/debug/src/common.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./src/components/pdf/PDFDocument.vue?37ca"],"names":["punycode","util","Url","this","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","exports","parse","urlParse","resolve","urlResolve","resolveObject","urlResolveObject","format","urlFormat","protocolPattern","portPattern","simplePathPattern","delims","unwise","concat","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","isObject","u","obj","isString","prototype","call","source","relative","TypeError","queryIndex","indexOf","splitter","uSplit","split","slashRegex","replace","join","rest","trim","length","simplePath","exec","substr","proto","lowerProto","toLowerCase","match","atSign","hostEnd","i","hec","lastIndexOf","slice","decodeURIComponent","parseHost","ipv6Hostname","hostparts","l","part","newpart","j","k","charCodeAt","validParts","notHost","bit","push","unshift","toASCII","p","h","ae","esc","encodeURIComponent","escape","qm","s","Object","keys","stringify","charAt","rel","result","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","splice","isAbsolute","debounce","FUNC_ERROR_TEXT","throttle","func","wait","options","leading","trailing","module","m","d","w","y","str","String","n","parseFloat","type","fmtShort","ms","msAbs","Math","abs","round","fmtLong","plural","name","isPlural","val","isFinite","long","Error","JSON","root","nodeType","freeGlobal","global","window","self","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","stringFromCharCode","fromCharCode","error","RangeError","map","array","fn","mapDomain","string","parts","labels","encoded","ucs2decode","value","extra","output","counter","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","decode","input","out","basic","index","oldi","t","baseMinusT","inputLength","bias","encode","handledCPCount","basicLength","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","test","baseRange","isIterateeCall","toFinite","createRange","fromRight","start","end","step","undefined","component","directives","extendOptions","isFunction","isLength","isArrayLike","useColors","process","__nwjs","navigator","userAgent","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","formatArgs","args","namespace","humanize","diff","c","color","lastC","save","namespaces","storage","setItem","removeItem","load","r","getItem","DEBUG","localstorage","localStorage","destroy","warned","warn","colors","log","debug","formatters","message","arg","now","Date","nativeCeil","ceil","nativeMax","max","Array","range","IntersectionObserverEntry","defineProperty","get","intersectionRatio","startDoc","doc","frame","getFrameElement","ownerDocument","registry","crossOriginUpdater","crossOriginRect","IntersectionObserver","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","_setupCrossOriginUpdater","boundingClientRect","intersectionRect","convertFromParentRect","getEmptyRect","forEach","observer","_checkForIntersections","_resetCrossOriginUpdater","observe","target","isTargetAlreadyObserved","_observationTargets","some","item","element","_registerInstance","entry","_monitorIntersections","unobserve","filter","_unmonitorIntersections","_unregisterInstance","disconnect","_unmonitorAllIntersections","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","threshold","isArray","sort","a","isNaN","_parseRootMargin","opt_rootMargin","marginString","margins","margin","unit","win","defaultView","_monitoringDocuments","callback","monitoringInterval","domObserver","setInterval","addEvent","MutationObserver","attributes","childList","characterData","subtree","_monitoringUnsubscribes","clearInterval","removeEvent","rootDoc","hasDependentTargets","itemDoc","unsubscribe","unsubscribes","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","targetRect","getBoundingClientRect","rootContainsTarget","_rootContainsTarget","oldEntry","_computeTargetAndRootIntersection","newEntry","time","rootBounds","_hasCrossedThreshold","isIntersecting","_callback","getComputedStyle","display","parent","getParentNode","atRoot","parentRect","parentComputedStyle","width","height","frameRect","frameIntersect","body","overflow","computeRectIntersection","html","top","left","right","clientWidth","bottom","clientHeight","_expandRectByRootMargin","rect","_rootMarginValues","newRect","oldRatio","newRatio","thresholds","containsDeep","frameElement","e","ensureDOMRect","targetArea","intersectionArea","Number","toFixed","opt_options","bind","rootMargin","performance","timeout","timer","setTimeout","node","event","opt_useCapture","addEventListener","attachEvent","removeEventListener","detatchEvent","rect1","rect2","min","el","err","x","parentBoundingRect","parentIntersectionRect","child","parentNode","assignedSlot","webpackPolyfill","deprecate","paths","children","enumerable","toNumber","INFINITY","MAX_INTEGER","sign","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","file","on","updatePageCount","updateCurrentPage","onPageRendered","onDocumentErrored","scopedSlots","_u","key","ref","pages","_b","updateScale","scale","optimalScale","fit","onCurrentPage","pageCount","lastWidgetPageEvent","_v","_s","goToLastPage","_g","goToFirstPage","_e","staticRenderFns","onPageJump","onPagesFetch","fitAuto","page","isPageFocused","isElementFocused","onPageErrored","onPageFocused","rawName","expression","modifiers","_l","pageNumber","_t","scrollTop","focusedPage","enablePageJump","inserted","binding","immediate","throttledScroll","instances","WeakMap","createObserver","vnode","entries","once","disconnectObserver","context","$nextTick","set","update","oldValue","unbind","has","delete","props","required","default","Boolean","data","elementTop","elementHeight","computed","scrollBottom","methods","jumpToPage","$emit","updateElementBounds","offsetTop","offsetHeight","watch","created","$on","mounted","$scopedSlots","components","ScrollingPage","visible","scroll","isParentVisible","pagesLength","fetchPages","currentPage","updateScrollBounds","oldCount","Scroll","canvasAttrs","viewport","getViewport","payload","objectFromCanvas","beforeDestroy","destroyPage","fabricWidgets","fabricCanvas","actualSizeViewport","clone","canvasStyle","class","focusPage","getObjectFromCanvasById","canvasObjectIndex","getObjects","recreateFabricWidget","exists","widgetWidth","WIDGET_DEFAULT_WIDTH","widgetHeight","WIDGET_DEFAULT_HEIGHT","Promise","fabric","fill","stroke","originX","originY","strokeWidth","img1","myImg","hoverCursor","id","recipientEmail","scaleX","scaleY","text","fontSize","fontFamily","widget","lockScalingFlip","subTargetCheck","redrawWidget","onWidgetRemoved","widgetTop","flow","add","removeWidget","remove","drawPage","renderTask","renderContext","onWidgetMoving","onWidgetModified","onWidgetScaling","canvasObjectById","updateVisibility","$parent","_destroy","destroyRenderTask","cancel","drawWidgetLegacy","addWidgetWithTimeoutLegacy","widgetPageEvent","action","oldPage","ScrollingDocument","PDFPage","isPreviewEnabled","defaultViewport","isPortrait","pageWidthScale","pageHeightScale","fitWidth","fitHeight","$el","newVal","getPages","pdf","first","all","allPages","getDefaults","cursor","File","assign","handler","getDocumentFile","oldPdf","numPages","startIndex","endPage","startPage","response","precision","multiplier","PDFDocument","PDFData","isOptimal","roundedScale","updateFit","VChip","VIcon","VRow","VSpacer","VTooltip","hasOwnProperty","prop","qs","sep","eq","regexp","maxKeys","len","kstr","vstr","idx","xs","toString","factory","modules","installedModules","__w_pdfjs_require__","moduleId","getter","o","Symbol","toStringTag","mode","__esModule","ns","create","object","property","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDOMUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","Response","ReadableStream","PDFFetchStream","PDFNetworkStream","build","version","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","createPromiseCapability","PasswordResponses","InvalidPDFException","MissingPDFException","SVGGraphics","NativeImageDecoding","CMapCompressionType","PermissionFlag","UnexpectedResponseException","OPS","VerbosityLevel","UNSUPPORTED_FEATURES","createValidAbsoluteUrl","createObjectURL","removeNullCharacters","shadow","Util","URL","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","GlobalWorkerOptions","apiCompatibilityParams","unreachable","utf8StringToString","stringToUTF8String","stringToPDFString","stringToBytes","string32","setVerbosityLevel","readUint32","readUint16","readInt8","log2","isEvalSupported","isLittleEndian","isSameOrigin","isSpace","isNum","isEmptyObj","isBool","isArrayBuffer","info","getVerbosityLevel","getLookupTableFactory","getInheritableProperty","deprecated","bytesToString","assert","arraysToBytes","arrayByteLength","FormatError","XRefParseException","toRomanNumerals","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","MissingDataException","AbortException","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","_typeof","iterator","constructor","_streams_polyfill","_url_polyfill","NONE","DECODE","DISPLAY","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","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","RL","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","closeStroke","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","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","isInteger","msg","details","cond","baseUrl","otherUrl","origin","other","_isValidProtocol","absoluteUrl","ex","configurable","writable","initializer","lookup","code","status","begin","NullCharactersRegExp","bytes","MAX_ARGUMENT_COUNT","apply","strBuf","chunkEnd","chunk","subarray","Uint8Array","arr","byteLength","itemLength","resultLength","ii","pos","offset","buffer8","view32","Uint32Array","buffer","Function","_ref","dict","_ref$getArray","getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","values","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","xt","yt","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","p3","p4","inverseTransform","apply3dTransform","singularValueDecompose2dScale","transpose","second","sqrt","sx","sy","normalizeRect","intersect","compare","orderedX","orderedY","ROMAN_NUMBER_MAP","number","lowerCase","arguments","romanBuf","romanStr","PDFStringTranslateTable","unescape","ch","capability","promise","reject","digits","contentType","forceDataSchema","blob","Blob","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","btoa","chars","Buffer","from","atob","scripts","getElementsByTagName","Element","removeChild","div","createElement","classList","toggle","originalDOMTokenListToggle","DOMTokenList","token","force","includes","codePointAt","fromCodePoint","$export","INCLUDES","P","F","searchString","core","hide","redefine","ctx","PROTOTYPE","own","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","expProto","U","W","R","__g","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","it","is","valueOf","bitmap","SRC","TO_STRING","$toString","TPL","inspectSource","safe","px","random","aFunction","that","isRegExp","defined","NAME","cof","MATCH","store","uid","_Symbol","USE_SYMBOL","$exports","SHARED","copyright","KEY","re","$includes","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","propertyIsEnumerable","toInteger","UNSCOPABLES","ArrayProto","getKeys","gOPS","pIE","toObject","$assign","A","K","T","aLen","getSymbols","isEnum","$keys","enumBugKeys","arrayIndexOf","IE_PROTO","names","shared","getOwnPropertySymbols","LN2","classof","TAG","ARG","tryGet","callee","$at","iterated","_i","point","done","LIBRARY","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","descriptor","dPs","Empty","_createDict","iframeDocument","iframe","lt","gt","appendChild","src","contentWindow","open","write","close","Properties","defineProperties","def","tag","stat","ObjectProto","$iterators","wks","TO_STRING_TAG","ArrayValues","DOMIterables","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","collections","explicit","Collection","addToUnscopables","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","promiseResolve","PROMISE","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","ok","run","reaction","exited","fail","domain","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","onFulfilled","onRejected","C","$$reject","iter","iterable","remaining","$index","alreadyCalled","race","forbiddenField","isArrayIter","getIterFn","BREAK","RETURN","_exports","iterFn","ret","getIteratorMethod","SPECIES","D","defer","channel","invoke","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","listener","nextTick","port2","port1","onmessage","postMessage","importScripts","clear","un","macrotask","Observer","WebKitMutationObserver","head","flush","standalone","createTextNode","PromiseCapability","$$resolve","promiseCapability","DESCRIPTORS","SAFE_CLOSING","riter","skipClosing","onFinally","callbackfn","InternalMap","each","meta","weak","fails","validate","WEAK_MAP","getWeak","isExtensible","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","getConstructor","NEED","method","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","META","setDesc","FREEZE","preventExtensions","setMeta","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","UncaughtFrozenStore","findUncaughtFrozen","ADDER","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","setPrototypeOf","check","buggy","__proto__","gOPD","getOwnPropertyDescriptor","COLLECTION","of","mapping","cb","mapFn","nextItem","$fromCodePoint","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$DP","gOPN","$Symbol","$JSON","_stringify","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","getOwnPropertyNames","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$values","isEntries","isReadableStreamSupported","controller","_typeof2","_require","IsPropertyKey","argument","Call","V","typeIsObject","createDataProperty","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","CreateIterResultObject","IsFiniteNonNegativeNumber","Infinity","InvokeOrNoop","PromiseInvokeOrNoop","returnValueE","PromiseInvokeOrPerformFallback","argsF","methodE","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","ValidateAndNormalizeQueuingStrategy","size","rethrowAssertionErrorRejection","AssertionError","stack","_createClass","protoProps","staticProps","_classCallCheck","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref$highWaterMark","_state","_storedError","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","WritableStreamDefaultController","__startSteps","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","AcquireWritableStreamDefaultWriter","stream","WritableStreamDefaultWriter","state","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","_closedPromise","catch","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","_readyPromise","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","_controlledWritableStream","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategySize","_strategyHWM","WritableStreamDefaultControllerGetBackpressure","IsWritableStreamDefaultController","_this","startResult","WritableStreamDefaultControllerAdvanceQueueIfNeeded","strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_closedPromise_resolve","_closedPromise_reject","_readyPromise_resolve","_readyPromise_reject","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","_ref2","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","_ref3","readable","pipeTo","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","_ref4","preventClose","preventAbort","preventCancel","reader","shuttingDown","currentWrite","pipeLoop","ReadableStreamDefaultReaderRead","_ref5","isOrBecomesErrored","shutdownWithAction","shutdown","isOrBecomesClosed","destClosed","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","IsReadableStreamDisturbed","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","create_ReadableStreamTeePullFunction","_teeState","_cloneForBranch2","cancel1","create_ReadableStreamTeeBranch1CancelFunction","_stream","cancel2","create_ReadableStreamTeeBranch2CancelFunction","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","_branch1","_branch2","ReadableStreamDefaultControllerError","branch1","branch2","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","compositeReason","cancelResult","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","sourceCancelPromise","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadIntoRequest","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","view","ArrayBuffer","isView","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","ReadableByteStreamControllerPullInto","__pullSteps","_controlledReadableStream","_underlyingSource","_closeRequested","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","pullPromise","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespond","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_autoAllocateChunkSize","_pendingPullIntos","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerError","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","firstDescriptor","bytesFilled","ReadableByteStreamControllerHandleQueueDrain","byteOffset","viewE","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","DataView","BYTES_PER_ELEMENT","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","transformStream","readableStream","writableStream","TransformStream","TransformStreamCloseReadable","_errored","_readableClosed","TransformStreamCloseReadableInternal","TransformStreamEnqueueToReadable","_readableController","TransformStreamErrorIfNeeded","maybeBackpressure","TransformStreamSetBackpressure","TransformStreamError","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","TransformStreamTransform","_transforming","transformer","_transformer","_transformStreamController","transformPromise","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","flushPromise","TransformStreamSource","TransformStreamDefaultController","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","sink","_writable","isURLSupported","PolyfillURL","OriginalURL","revokeObjectURL","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","stateOverride","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","cp","tempC","temp","JURL","_url","authority","_","PDFPageProxy","PDFDocumentProxy","_slicedToArray","sliceIterator","_arr","_util","_dom_utils","_font_loader","_api_compatibility","_canvas","_global_scope","_global_scope2","_interopRequireDefault","_worker_options","_message_handler","_metadata","_transport_stream","_webgl","_toConsumableArray","arr2","DEFAULT_RANGE_CHUNK_SIZE","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerFilesLoader","useRequireEnsure","requirejs","toUrl","createPDFNetworkStream","dynamicLoaderSupported","worker","WorkerMessageHandler","pdfjsFilePath","currentScript","pdfNetworkStreamFactory","PDFDocumentLoadingTask","rangeTransport","pdfBytes","location","rangeChunkSize","CMapReaderFactory","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","postMessageTransfers","workerPort","fromPort","_worker","docId","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","httpHeaders","withCredentials","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","_rangeListeners","_progressListeners","_progressiveReadListeners","_readyCapability","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","loaded","_this2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_this3","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","pdfInfo","loadingTask","_pdfInfo","getPage","getPageIndex","getDestinations","getDestination","getPageLabels","getPageMode","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","fingerprint","loadingParams","pageIndex","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","rotate","userUnit","dontFlip","PageViewport","viewBox","rotation","getAnnotations","intent","annotationsPromise","annotationsIntent","_this4","stats","renderingIntent","canvasFactory","DOMCanvasFactory","webGLContext","WebGLContext","enable","enableWebGL","intentState","displayReadyCapability","receivingOperatorList","operatorList","fnArray","argsArray","lastChunk","renderInteractiveForms","complete","renderTasks","internalRenderTask","_tryCleanup","timeEnd","InternalRenderTask","useRequestAnimationFrame","transparency","initializeGraphics","operatorListChanged","getOperatorList","opListReadCapability","opListTask","streamTextContent","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","normalizeWhitespace","combineTextItems","disableCombineTextItems","textContent","items","getTextContent","pump","read","_textContent$items","styles","getReader","pageCache","waitOn","renderCompleted","cleanup","resetStats","_startRenderPage","_renderPageChunk","operatorListChunk","_listeners","_defer","_deferred","transfers","_this5","cloneValue","cloned","transferable","desc","nextFakeWorkerId","getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","fakeWorkerFilesLoadedCapability","setupFakeWorkerGlobal","mainWorkerMessageHandler","loader","createCDNWrapper","pdfWorkerPorts","_ref2$name","_ref2$port","_ref2$postMessageTran","_ref2$verbosity","_webWorker","_messageHandler","_initializeFromPort","_initialize","_this6","Worker","terminateEarly","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this7","workerHandler","setup","fontLoader","FontLoader","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this8","terminated","cancelAllRequests","_this9","getFullReader","evt","total","onPull","enqueue","onCancel","_this10","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","pdfDocument","_this11","updatePassword","_this12","_data","exportedData","hasData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_onUnsupportedFeature","fontReady","fontObjs","_data2","imageData","pageProxy","img","Image","onload","onerror","MAX_IMAGE_SIZE_TO_STORE","pageNum","_data3","imageUrl","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref6","featureId","_this13","_this14","results","metadata","Metadata","contentDispositionFilename","filename","_this15","ensureObj","objId","resolved","isResolved","RenderTask","_internalRenderTask","onContinue","canvasInRendering","operatorListIdx","running","graphicsReadyCallback","graphicsReady","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","canvasContext","canvas","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","imageLayer","beginDrawing","background","updateOperatorList","_this16","requestAnimationFrame","_this17","executeOperatorList","endDrawing","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","responseText","cMapData","compressionType","svg","createElementNS","setAttribute","_ref3$offsetX","offsetX","_ref3$offsetY","offsetY","_ref3$dontFlip","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","_ref4$scale","_ref4$rotation","_ref4$dontFlip","tl","br","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","title","LinkTargetValues","targetIndex","anchor","substring","started","times","longest","_ii","span","duration","padEnd","script","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","BaseFontLoader","nativeFontFaces","styleElement","loadingContext","requests","nextRequestId","nativeFontFace","fonts","rule","styleSheet","sheet","insertRule","cssRules","rules","fontsToLoad","fontLoadPromises","getNativeFontPromise","family","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","createFontFaceRule","_queueLoadingCallback","isSyncFontLoadingSupported","_prepareFontLoadEvent","completeRequest","otherRequest","_BaseFontLoader","GenericFontLoader","loadTestFontId","int32","spliceString","insert","chunk1","chunk2","called","isFontReady","fillText","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","supported","getLoadTestFont","IsEvalSupportedCached","translatedData","_ref$isEvalSupported","_ref$disableFontFace","_ref$ignoreErrors","_ref$onUnsupportedFea","_ref$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","compatibilityParams","isIE","isIOSChrome","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","IsLittleEndianCached","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","prev","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","reset","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","count","sum","steps","Int32Array","outlines","pp","coords","p0","drawOutline","beginPath","jj","CanvasExtraState","alphaIsShape","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","properties","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","isEnabled","composed","layer","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","deps","nn","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","getPattern","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","charWidth","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","patternIR","inv","bl","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","canvasBounds","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","position","getCanvasPosition","appendImage","compiled","maskCanvas","positions","images","image","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","ShadingIRs","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","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","topLeft","botRight","curMatrixScale","combinedScale","graphics","setFillAndStrokeStyleToContext","setScale","transformToScale","tmpTranslate","clipBbox","tmpScale","scaleToContext","bboxWidth","bboxHeight","cssColor","_regenerator","_regenerator2","resolveCall","_asyncToGenerator","mark","_callee","thisArg","_context","abrupt","stop","_x2","_x3","gen","wrapReason","makeReasonSerializable","resolveOrReject","success","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","scope","queueingStrategy","startCapability","startCall","isClosed","pullCapability","pullCall","cancelCapability","cancelCall","sendStreamRequest","streamSink","isCancelled","lastDesiredSize","sinkCapability","sendStreamResponse","deleteStreamController","hadRuntime","regeneratorRuntime","oldRuntime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","reverse","Context","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","rootEntry","rootRecord","completion","rval","dispatchException","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","finallyEntry","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","makeInvokeMethod","tryCatch","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegateResult","maybeInvokeDelegate","pushTryEntry","locs","iteratorMethod","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","_get","receiver","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","lastElement","_queuedChunks","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","transportReady","PDFDataTransportStreamReader","queuedChunks","_done","_filename","_requests","_headersReady","PDFDataTransportStreamRangeReader","_begin","_end","_queuedChunk","_enqueue","found","firstReader","_removeRangeReader","requestDataRange","readers","abort","requestCapability","requestsCapability","_callee2","_context2","_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","Float32Array","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","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","styleBuf","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","dataset","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","_canceled","textDivs","textDivsLength","_renderingDone","expand","expanded","expandBounds","divProperties","ts","Float64Array","findPositiveMin","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","clearTimeout","_processItems","styleCache","textLayerFrag","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","padding","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","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","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","_bindNamedAction","_bindLink","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","multiLine","disabled","readOnly","maxLen","maxLength","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","fieldName","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","lineCoordinates","append","_AnnotationElement6","square","_AnnotationElement7","circle","_AnnotationElement8","containerClassName","svgElementName","vertices","polyline","_PolylineAnnotationEl","_AnnotationElement9","inkLists","inkList","_AnnotationElement10","_AnnotationElement11","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_this23","_this23$data$file","eventBus","dispatch","_download","downloadData","annotations","_is_node","_is_node2","SVG_DEFAULTS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","opTree","opListLen","pf","pm","acos","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","XML_NS","XLINK_NS","clipCount","maskCount","tgrp","executeOpTree","loadDependencies","fnArrayLen","getSVG","svgElement","convertOpList","REVOPS","opTreeLen","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","setStrokeAlpha","setFillAlpha","opLength","clipId","clipPath","clipElement","cloneNode","getAttributeNS","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isHttp","isFsUrl","_fullRequest","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_loaded","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","validateResponseStatus","createResponseStatusError","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","matches","_match","_match2","quot","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","charset","hex","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","rangeStr","NetworkManager","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getXhr","currXhrId","pendingRequests","loadedRequests","getArrayBuffer","xhr","supportsMozChunked","_source","_manager","PDFNetworkStreamFullRequestReader","manager","onHeadersReceived","_onHeadersReceived","onProgressiveData","_onProgressiveData","onDone","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","PDFNetworkStreamRangeRequestReader","_requestId","requestRange","onClosed","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","useMozChunkedLoading","mozChunked","onStateChange","onprogress","xhrStatus","ok_response_on_range_request","rangeHeader","hasPendingRequests","getRequestXhr","isStreamingRequest","isPendingRequest","isLoadedRequest","abortAllRequests","_onRangeRequestReaderClosed","fullRequestXhrId","fullRequestXhr","networkManager","lengthComputable","_close","baseGetTag","asyncTag","funcTag","genTag","proxyTag","isIndex","indeterminate","indeterminateIcon","offIcon","onIcon","inputIndeterminate","classes","computedIcon","validationState","isDisabled","hasError","hasColor","isActive","genCheckbox","checkboxAttrs","setTextColor","dense","dark","light","genInput","genRipple","genDefaultSlot","nativeMin","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","debounced","isInvoking","MAX_SAFE_INTEGER","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","reIsUint","env","selectColor","createDebug","prevTime","enableOverride","curr","coerce","formatter","logFn","extend","newDebug","skips","disable","toNamespace","stringifyPrimitive","objectKeys","ks"],"mappings":"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","file":"js/bc45d6011ffbec38b009-chunk-82625fbc.chunk.js","sourcesContent":["// 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'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function installDirectives (component, directives) {\n var options = typeof component.exports === 'function'\n ? component.exports.extendOptions\n : component.options\n\n if (typeof component.exports === 'function') {\n options.directives = component.exports.options.directives\n }\n\n options.directives = options.directives || {}\n\n for (var i in directives) {\n options.directives[i] = options.directives[i] || directives[i]\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFPage.vue?vue&type=style&index=0&lang=css&\"","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewer.vue?vue&type=style&index=0&lang=css&\"","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n(function() {\n'use strict';\n\n// Exit early if we're not running in a browser.\nif (typeof window !== 'object') {\n return;\n}\n\n// Exit early if all IntersectionObserver and IntersectionObserverEntry\n// features are natively supported.\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype,\n 'isIntersecting', {\n get: function () {\n return this.intersectionRatio > 0;\n }\n });\n }\n return;\n}\n\n/**\n * Returns the embedding frame element, if any.\n * @param {!Document} doc\n * @return {!Element}\n */\nfunction getFrameElement(doc) {\n try {\n return doc.defaultView && doc.defaultView.frameElement || null;\n } catch (e) {\n // Ignore the error.\n return null;\n }\n}\n\n/**\n * A local reference to the root document.\n */\nvar document = (function(startDoc) {\n var doc = startDoc;\n var frame = getFrameElement(doc);\n while (frame) {\n doc = frame.ownerDocument;\n frame = getFrameElement(doc);\n }\n return doc;\n})(window.document);\n\n/**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\nvar registry = [];\n\n/**\n * The signal updater for cross-origin intersection. When not null, it means\n * that the polyfill is configured to work in a cross-origin mode.\n * @type {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\nvar crossOriginUpdater = null;\n\n/**\n * The current cross-origin intersection. Only used in the cross-origin mode.\n * @type {DOMRect|ClientRect}\n */\nvar crossOriginRect = null;\n\n\n/**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\nfunction IntersectionObserverEntry(entry) {\n this.time = entry.time;\n this.target = entry.target;\n this.rootBounds = ensureDOMRect(entry.rootBounds);\n this.boundingClientRect = ensureDOMRect(entry.boundingClientRect);\n this.intersectionRect = ensureDOMRect(entry.intersectionRect || getEmptyRect());\n this.isIntersecting = !!entry.intersectionRect;\n\n // Calculates the intersection ratio.\n var targetRect = this.boundingClientRect;\n var targetArea = targetRect.width * targetRect.height;\n var intersectionRect = this.intersectionRect;\n var intersectionArea = intersectionRect.width * intersectionRect.height;\n\n // Sets intersection ratio.\n if (targetArea) {\n // Round the intersection ratio to avoid floating point math issues:\n // https://github.com/w3c/IntersectionObserver/issues/324\n this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n } else {\n // If area is zero and is intersecting, sets to 1, otherwise to 0\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\n }\n}\n\n\n/**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\nfunction IntersectionObserver(callback, opt_options) {\n\n var options = opt_options || {};\n\n if (typeof callback != 'function') {\n throw new Error('callback must be a function');\n }\n\n if (options.root && options.root.nodeType != 1) {\n throw new Error('root must be an Element');\n }\n\n // Binds and throttles `this._checkForIntersections`.\n this._checkForIntersections = throttle(\n this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n // Private properties.\n this._callback = callback;\n this._observationTargets = [];\n this._queuedEntries = [];\n this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n // Public properties.\n this.thresholds = this._initThresholds(options.threshold);\n this.root = options.root || null;\n this.rootMargin = this._rootMarginValues.map(function(margin) {\n return margin.value + margin.unit;\n }).join(' ');\n\n /** @private @const {!Array} */\n this._monitoringDocuments = [];\n /** @private @const {!Array} */\n this._monitoringUnsubscribes = [];\n}\n\n\n/**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\nIntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n\n/**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\nIntersectionObserver.prototype.POLL_INTERVAL = null;\n\n/**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\nIntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n\n\n/**\n * Sets up the polyfill in the cross-origin mode. The result is the\n * updater function that accepts two arguments: `boundingClientRect` and\n * `intersectionRect` - just as these fields would be available to the\n * parent via `IntersectionObserverEntry`. This function should be called\n * each time the iframe receives intersection information from the parent\n * window, e.g. via messaging.\n * @return {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\nIntersectionObserver._setupCrossOriginUpdater = function() {\n if (!crossOriginUpdater) {\n /**\n * @param {DOMRect|ClientRect} boundingClientRect\n * @param {DOMRect|ClientRect} intersectionRect\n */\n crossOriginUpdater = function(boundingClientRect, intersectionRect) {\n if (!boundingClientRect || !intersectionRect) {\n crossOriginRect = getEmptyRect();\n } else {\n crossOriginRect = convertFromParentRect(boundingClientRect, intersectionRect);\n }\n registry.forEach(function(observer) {\n observer._checkForIntersections();\n });\n };\n }\n return crossOriginUpdater;\n};\n\n\n/**\n * Resets the cross-origin mode.\n */\nIntersectionObserver._resetCrossOriginUpdater = function() {\n crossOriginUpdater = null;\n crossOriginRect = null;\n};\n\n\n/**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.observe = function(target) {\n var isTargetAlreadyObserved = this._observationTargets.some(function(item) {\n return item.element == target;\n });\n\n if (isTargetAlreadyObserved) {\n return;\n }\n\n if (!(target && target.nodeType == 1)) {\n throw new Error('target must be an Element');\n }\n\n this._registerInstance();\n this._observationTargets.push({element: target, entry: null});\n this._monitorIntersections(target.ownerDocument);\n this._checkForIntersections();\n};\n\n\n/**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.unobserve = function(target) {\n this._observationTargets =\n this._observationTargets.filter(function(item) {\n return item.element != target;\n });\n this._unmonitorIntersections(target.ownerDocument);\n if (this._observationTargets.length == 0) {\n this._unregisterInstance();\n }\n};\n\n\n/**\n * Stops observing all target elements for intersection changes.\n */\nIntersectionObserver.prototype.disconnect = function() {\n this._observationTargets = [];\n this._unmonitorAllIntersections();\n this._unregisterInstance();\n};\n\n\n/**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\nIntersectionObserver.prototype.takeRecords = function() {\n var records = this._queuedEntries.slice();\n this._queuedEntries = [];\n return records;\n};\n\n\n/**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\nIntersectionObserver.prototype._initThresholds = function(opt_threshold) {\n var threshold = opt_threshold || [0];\n if (!Array.isArray(threshold)) threshold = [threshold];\n\n return threshold.sort().filter(function(t, i, a) {\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n throw new Error('threshold must be a number between 0 and 1 inclusively');\n }\n return t !== a[i - 1];\n });\n};\n\n\n/**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array} An array of margin objects with the keys\n * value and unit.\n */\nIntersectionObserver.prototype._parseRootMargin = function(opt_rootMargin) {\n var marginString = opt_rootMargin || '0px';\n var margins = marginString.split(/\\s+/).map(function(margin) {\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n if (!parts) {\n throw new Error('rootMargin must be specified in pixels or percent');\n }\n return {value: parseFloat(parts[1]), unit: parts[2]};\n });\n\n // Handles shorthand.\n margins[1] = margins[1] || margins[0];\n margins[2] = margins[2] || margins[0];\n margins[3] = margins[3] || margins[1];\n\n return margins;\n};\n\n\n/**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._monitorIntersections = function(doc) {\n var win = doc.defaultView;\n if (!win) {\n // Already destroyed.\n return;\n }\n if (this._monitoringDocuments.indexOf(doc) != -1) {\n // Already monitoring.\n return;\n }\n\n // Private state for monitoring.\n var callback = this._checkForIntersections;\n var monitoringInterval = null;\n var domObserver = null;\n\n // If a poll interval is set, use polling instead of listening to\n // resize and scroll events or DOM mutations.\n if (this.POLL_INTERVAL) {\n monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL);\n } else {\n addEvent(win, 'resize', callback, true);\n addEvent(doc, 'scroll', callback, true);\n if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in win) {\n domObserver = new win.MutationObserver(callback);\n domObserver.observe(doc, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n }\n\n this._monitoringDocuments.push(doc);\n this._monitoringUnsubscribes.push(function() {\n // Get the window object again. When a friendly iframe is destroyed, it\n // will be null.\n var win = doc.defaultView;\n\n if (win) {\n if (monitoringInterval) {\n win.clearInterval(monitoringInterval);\n }\n removeEvent(win, 'resize', callback, true);\n }\n\n removeEvent(doc, 'scroll', callback, true);\n if (domObserver) {\n domObserver.disconnect();\n }\n });\n\n // Also monitor the parent.\n if (doc != (this.root && this.root.ownerDocument || document)) {\n var frame = getFrameElement(doc);\n if (frame) {\n this._monitorIntersections(frame.ownerDocument);\n }\n }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._unmonitorIntersections = function(doc) {\n var index = this._monitoringDocuments.indexOf(doc);\n if (index == -1) {\n return;\n }\n\n var rootDoc = (this.root && this.root.ownerDocument || document);\n\n // Check if any dependent targets are still remaining.\n var hasDependentTargets =\n this._observationTargets.some(function(item) {\n var itemDoc = item.element.ownerDocument;\n // Target is in this context.\n if (itemDoc == doc) {\n return true;\n }\n // Target is nested in this context.\n while (itemDoc && itemDoc != rootDoc) {\n var frame = getFrameElement(itemDoc);\n itemDoc = frame && frame.ownerDocument;\n if (itemDoc == doc) {\n return true;\n }\n }\n return false;\n });\n if (hasDependentTargets) {\n return;\n }\n\n // Unsubscribe.\n var unsubscribe = this._monitoringUnsubscribes[index];\n this._monitoringDocuments.splice(index, 1);\n this._monitoringUnsubscribes.splice(index, 1);\n unsubscribe();\n\n // Also unmonitor the parent.\n if (doc != rootDoc) {\n var frame = getFrameElement(doc);\n if (frame) {\n this._unmonitorIntersections(frame.ownerDocument);\n }\n }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._unmonitorAllIntersections = function() {\n var unsubscribes = this._monitoringUnsubscribes.slice(0);\n this._monitoringDocuments.length = 0;\n this._monitoringUnsubscribes.length = 0;\n for (var i = 0; i < unsubscribes.length; i++) {\n unsubscribes[i]();\n }\n};\n\n\n/**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\nIntersectionObserver.prototype._checkForIntersections = function() {\n if (!this.root && crossOriginUpdater && !crossOriginRect) {\n // Cross origin monitoring, but no initial data available yet.\n return;\n }\n\n var rootIsInDom = this._rootIsInDom();\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n this._observationTargets.forEach(function(item) {\n var target = item.element;\n var targetRect = getBoundingClientRect(target);\n var rootContainsTarget = this._rootContainsTarget(target);\n var oldEntry = item.entry;\n var intersectionRect = rootIsInDom && rootContainsTarget &&\n this._computeTargetAndRootIntersection(target, targetRect, rootRect);\n\n var newEntry = item.entry = new IntersectionObserverEntry({\n time: now(),\n target: target,\n boundingClientRect: targetRect,\n rootBounds: crossOriginUpdater && !this.root ? null : rootRect,\n intersectionRect: intersectionRect\n });\n\n if (!oldEntry) {\n this._queuedEntries.push(newEntry);\n } else if (rootIsInDom && rootContainsTarget) {\n // If the new entry intersection ratio has crossed any of the\n // thresholds, add a new entry.\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n this._queuedEntries.push(newEntry);\n }\n } else {\n // If the root is not in the DOM or target is not contained within\n // root but the previous entry for this target had an intersection,\n // add a new record indicating removal.\n if (oldEntry && oldEntry.isIntersecting) {\n this._queuedEntries.push(newEntry);\n }\n }\n }, this);\n\n if (this._queuedEntries.length) {\n this._callback(this.takeRecords(), this);\n }\n};\n\n\n/**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} targetRect The bounding rect of the target.\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\nIntersectionObserver.prototype._computeTargetAndRootIntersection =\n function(target, targetRect, rootRect) {\n // If the element isn't displayed, an intersection can't happen.\n if (window.getComputedStyle(target).display == 'none') return;\n\n var intersectionRect = targetRect;\n var parent = getParentNode(target);\n var atRoot = false;\n\n while (!atRoot && parent) {\n var parentRect = null;\n var parentComputedStyle = parent.nodeType == 1 ?\n window.getComputedStyle(parent) : {};\n\n // If the parent isn't displayed, an intersection can't happen.\n if (parentComputedStyle.display == 'none') return null;\n\n if (parent == this.root || parent.nodeType == /* DOCUMENT */ 9) {\n atRoot = true;\n if (parent == this.root || parent == document) {\n if (crossOriginUpdater && !this.root) {\n if (!crossOriginRect ||\n crossOriginRect.width == 0 && crossOriginRect.height == 0) {\n // A 0-size cross-origin intersection means no-intersection.\n parent = null;\n parentRect = null;\n intersectionRect = null;\n } else {\n parentRect = crossOriginRect;\n }\n } else {\n parentRect = rootRect;\n }\n } else {\n // Check if there's a frame that can be navigated to.\n var frame = getParentNode(parent);\n var frameRect = frame && getBoundingClientRect(frame);\n var frameIntersect =\n frame &&\n this._computeTargetAndRootIntersection(frame, frameRect, rootRect);\n if (frameRect && frameIntersect) {\n parent = frame;\n parentRect = convertFromParentRect(frameRect, frameIntersect);\n } else {\n parent = null;\n intersectionRect = null;\n }\n }\n } else {\n // If the element has a non-visible overflow, and it's not the \n // or element, update the intersection rect.\n // Note: and cannot be clipped to a rect that's not also\n // the document rect, so no need to compute a new intersection.\n var doc = parent.ownerDocument;\n if (parent != doc.body &&\n parent != doc.documentElement &&\n parentComputedStyle.overflow != 'visible') {\n parentRect = getBoundingClientRect(parent);\n }\n }\n\n // If either of the above conditionals set a new parentRect,\n // calculate new intersection data.\n if (parentRect) {\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n }\n if (!intersectionRect) break;\n parent = parent && getParentNode(parent);\n }\n return intersectionRect;\n};\n\n\n/**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {ClientRect} The expanded root rect.\n * @private\n */\nIntersectionObserver.prototype._getRootRect = function() {\n var rootRect;\n if (this.root) {\n rootRect = getBoundingClientRect(this.root);\n } else {\n // Use / instead of window since scroll bars affect size.\n var html = document.documentElement;\n var body = document.body;\n rootRect = {\n top: 0,\n left: 0,\n right: html.clientWidth || body.clientWidth,\n width: html.clientWidth || body.clientWidth,\n bottom: html.clientHeight || body.clientHeight,\n height: html.clientHeight || body.clientHeight\n };\n }\n return this._expandRectByRootMargin(rootRect);\n};\n\n\n/**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {DOMRect|ClientRect} rect The rect object to expand.\n * @return {ClientRect} The expanded rect.\n * @private\n */\nIntersectionObserver.prototype._expandRectByRootMargin = function(rect) {\n var margins = this._rootMarginValues.map(function(margin, i) {\n return margin.unit == 'px' ? margin.value :\n margin.value * (i % 2 ? rect.width : rect.height) / 100;\n });\n var newRect = {\n top: rect.top - margins[0],\n right: rect.right + margins[1],\n bottom: rect.bottom + margins[2],\n left: rect.left - margins[3]\n };\n newRect.width = newRect.right - newRect.left;\n newRect.height = newRect.bottom - newRect.top;\n\n return newRect;\n};\n\n\n/**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\nIntersectionObserver.prototype._hasCrossedThreshold =\n function(oldEntry, newEntry) {\n\n // To make comparing easier, an entry that has a ratio of 0\n // but does not actually intersect is given a value of -1\n var oldRatio = oldEntry && oldEntry.isIntersecting ?\n oldEntry.intersectionRatio || 0 : -1;\n var newRatio = newEntry.isIntersecting ?\n newEntry.intersectionRatio || 0 : -1;\n\n // Ignore unchanged ratios\n if (oldRatio === newRatio) return;\n\n for (var i = 0; i < this.thresholds.length; i++) {\n var threshold = this.thresholds[i];\n\n // Return true if an entry matches a threshold or if the new ratio\n // and the old ratio are on the opposite sides of a threshold.\n if (threshold == oldRatio || threshold == newRatio ||\n threshold < oldRatio !== threshold < newRatio) {\n return true;\n }\n }\n};\n\n\n/**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\nIntersectionObserver.prototype._rootIsInDom = function() {\n return !this.root || containsDeep(document, this.root);\n};\n\n\n/**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\nIntersectionObserver.prototype._rootContainsTarget = function(target) {\n return containsDeep(this.root || document, target) &&\n (!this.root || this.root.ownerDocument == target.ownerDocument);\n};\n\n\n/**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\nIntersectionObserver.prototype._registerInstance = function() {\n if (registry.indexOf(this) < 0) {\n registry.push(this);\n }\n};\n\n\n/**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\nIntersectionObserver.prototype._unregisterInstance = function() {\n var index = registry.indexOf(this);\n if (index != -1) registry.splice(index, 1);\n};\n\n\n/**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\nfunction now() {\n return window.performance && performance.now && performance.now();\n}\n\n\n/**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\nfunction throttle(fn, timeout) {\n var timer = null;\n return function () {\n if (!timer) {\n timer = setTimeout(function() {\n fn();\n timer = null;\n }, timeout);\n }\n };\n}\n\n\n/**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\nfunction addEvent(node, event, fn, opt_useCapture) {\n if (typeof node.addEventListener == 'function') {\n node.addEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.attachEvent == 'function') {\n node.attachEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\nfunction removeEvent(node, event, fn, opt_useCapture) {\n if (typeof node.removeEventListener == 'function') {\n node.removeEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.detatchEvent == 'function') {\n node.detatchEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object|?ClientRect} The intersection rect or undefined if no\n * intersection is found.\n */\nfunction computeRectIntersection(rect1, rect2) {\n var top = Math.max(rect1.top, rect2.top);\n var bottom = Math.min(rect1.bottom, rect2.bottom);\n var left = Math.max(rect1.left, rect2.left);\n var right = Math.min(rect1.right, rect2.right);\n var width = right - left;\n var height = bottom - top;\n\n return (width >= 0 && height >= 0) && {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n } || null;\n}\n\n\n/**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {DOMRect|ClientRect} The (possibly shimmed) rect of the element.\n */\nfunction getBoundingClientRect(el) {\n var rect;\n\n try {\n rect = el.getBoundingClientRect();\n } catch (err) {\n // Ignore Windows 7 IE11 \"Unspecified error\"\n // https://github.com/w3c/IntersectionObserver/pull/205\n }\n\n if (!rect) return getEmptyRect();\n\n // Older IE\n if (!(rect.width && rect.height)) {\n rect = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n }\n return rect;\n}\n\n\n/**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {ClientRect} The empty rect.\n */\nfunction getEmptyRect() {\n return {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0\n };\n}\n\n\n/**\n * Ensure that the result has all of the necessary fields of the DOMRect.\n * Specifically this ensures that `x` and `y` fields are set.\n *\n * @param {?DOMRect|?ClientRect} rect\n * @return {?DOMRect}\n */\nfunction ensureDOMRect(rect) {\n // A `DOMRect` object has `x` and `y` fields.\n if (!rect || 'x' in rect) {\n return rect;\n }\n // A IE's `ClientRect` type does not have `x` and `y`. The same is the case\n // for internally calculated Rect objects. For the purposes of\n // `IntersectionObserver`, it's sufficient to simply mirror `left` and `top`\n // for these fields.\n return {\n top: rect.top,\n y: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n right: rect.right,\n width: rect.width,\n height: rect.height\n };\n}\n\n\n/**\n * Inverts the intersection and bounding rect from the parent (frame) BCR to\n * the local BCR space.\n * @param {DOMRect|ClientRect} parentBoundingRect The parent's bound client rect.\n * @param {DOMRect|ClientRect} parentIntersectionRect The parent's own intersection rect.\n * @return {ClientRect} The local root bounding rect for the parent's children.\n */\nfunction convertFromParentRect(parentBoundingRect, parentIntersectionRect) {\n var top = parentIntersectionRect.top - parentBoundingRect.top;\n var left = parentIntersectionRect.left - parentBoundingRect.left;\n return {\n top: top,\n left: left,\n height: parentIntersectionRect.height,\n width: parentIntersectionRect.width,\n bottom: top + parentIntersectionRect.height,\n right: left + parentIntersectionRect.width\n };\n}\n\n\n/**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\nfunction containsDeep(parent, child) {\n var node = child;\n while (node) {\n if (node == parent) return true;\n\n node = getParentNode(node);\n }\n return false;\n}\n\n\n/**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\nfunction getParentNode(node) {\n var parent = node.parentNode;\n\n if (node.nodeType == /* DOCUMENT */ 9 && node != document) {\n // If this node is a document node, look for the embedding frame.\n return getFrameElement(node);\n }\n\n if (parent && parent.nodeType == 11 && parent.host) {\n // If the parent is a shadow root, return the host element.\n return parent.host;\n }\n\n if (parent && parent.assignedSlot) {\n // If the parent is distributed in a , return the parent of a slot.\n return parent.assignedSlot.parentNode;\n }\n\n return parent;\n}\n\n\n// Exposes the constructors globally.\nwindow.IntersectionObserver = IntersectionObserver;\nwindow.IntersectionObserverEntry = IntersectionObserverEntry;\n\n}());\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pdf-viewer\"},[_c('PDFData',{staticClass:\"pdf-viewer__main\",attrs:{\"file\":_vm.file},on:{\"page-count\":_vm.updatePageCount,\"page-focus\":_vm.updateCurrentPage,\"page-rendered\":_vm.onPageRendered,\"document-errored\":_vm.onDocumentErrored},scopedSlots:_vm._u([{key:\"document\",fn:function(ref){\nvar pages = ref.pages;\nreturn [_c('PDFDocument',_vm._b({ref:\"PDFDocument\",staticClass:\"pdf-viewer__document\",on:{\"scale-change\":_vm.updateScale}},'PDFDocument',{\n pages: pages,\n scale: _vm.scale,\n optimalScale: _vm.optimalScale,\n fit: _vm.fit,\n onCurrentPage: _vm.onCurrentPage,\n pageCount: _vm.pageCount,\n lastWidgetPageEvent: _vm.lastWidgetPageEvent\n },false))]}}])}),_c('v-row',{staticClass:\"mr-4\",attrs:{\"no-gutters\":\"\"}},[_c('v-spacer'),_c('v-chip',{staticClass:\"ma-2\"},[_vm._v(\" \"+_vm._s(_vm.onCurrentPage)+\" / \"+_vm._s(_vm.pageCount)+\" \")]),_c('v-chip',{staticClass:\"mt-2\",on:{\"click\":_vm.goToLastPage}},[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"min-width\":\"120\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"size\":\"16\"}},'v-icon',attrs,false),on),[_vm._v(\"mdi-arrow-down\")])]}}])},[_c('span',[_vm._v(\"Última página\")])])],1)],1),(_vm.onCurrentPage > 1)?_c('v-chip',{staticClass:\"mt-2 bottom-chip\",on:{\"click\":_vm.goToFirstPage}},[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"min-width\":\"120\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"size\":\"16\"}},'v-icon',attrs,false),on),[_vm._v(\"mdi-arrow-up\")])]}}],null,false,618284487)},[_c('span',[_vm._v(\"Primera página\")])])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ScrollingDocument',_vm._b({staticClass:\"pdf-document\",attrs:{\"enable-page-jump\":true},on:{\"page-jump\":_vm.onPageJump,\"pages-fetch\":_vm.onPagesFetch,\"pages-reset\":_vm.fitAuto},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar page = ref.page;\nvar isPageFocused = ref.isPageFocused;\nvar isElementFocused = ref.isElementFocused;\nreturn [_c('PDFPage',_vm._b({on:{\"page-rendered\":_vm.onPageRendered,\"page-errored\":_vm.onPageErrored,\"page-focus\":_vm.onPageFocused}},'PDFPage',{\n scale: _vm.scale,\n optimalScale: _vm.optimalScale,\n page: page,\n isPageFocused: isPageFocused,\n isElementFocused: isElementFocused,\n lastWidgetPageEvent: _vm.lastWidgetPageEvent\n },false))]}}])},'ScrollingDocument',{ pages: _vm.pages, pageCount: _vm.pageCount, onCurrentPage: _vm.onCurrentPage },false))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"scroll\",rawName:\"v-scroll.immediate\",value:(_vm.updateScrollBounds),expression:\"updateScrollBounds\",modifiers:{\"immediate\":true}}],staticClass:\"scrolling-document\"},[_vm._l((_vm.pages),function(page){return _c('ScrollingPage',_vm._b({key:page.pageNumber,on:{\"page-jump\":_vm.onPageJump},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar isPageFocused = ref.isPageFocused;\nvar isElementFocused = ref.isElementFocused;\nreturn [_c('div',{staticClass:\"scrolling-page\"},[_vm._t(\"default\",null,null,{ page: page, isPageFocused: isPageFocused, isElementFocused: isElementFocused })],2)]}}],null,true)},'ScrollingPage',{ page: page, clientHeight: _vm.clientHeight, scrollTop: _vm.scrollTop, focusedPage: _vm.focusedPage, enablePageJump: _vm.enablePageJump },false))}),_c('div',{directives:[{name:\"visible\",rawName:\"v-visible\",value:(_vm.fetchPages),expression:\"fetchPages\"}],staticClass:\"observer\"})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import throttle from \"lodash/throttle\";\n\nfunction inserted(el, binding) {\n const callback = binding.value;\n if (binding.modifiers.immediate) {\n callback();\n }\n const throttledScroll = throttle(callback, 300);\n el.addEventListener(\"scroll\", throttledScroll, true);\n}\n\nexport default {\n inserted\n};\n","import \"intersection-observer\";\nimport debug from \"debug\";\nconst log = debug(\"app:directives/visible\");\n\nconst instances = new WeakMap();\n\nfunction createObserver(el, vnode, modifiers, callback) {\n const observer = new IntersectionObserver(entries => {\n const entry = entries[0];\n if (entry.isIntersecting) {\n callback();\n if (modifiers.once) {\n disconnectObserver(observer, el);\n }\n }\n });\n\n // Observe when element is inserted in DOM\n vnode.context.$nextTick(() => observer.observe(el));\n\n return observer;\n}\nfunction disconnectObserver(observer, el) {\n log(\"Disconnecting observer\", el);\n if (observer) observer.disconnect();\n}\n\nfunction bind(el, { value, modifiers }, vnode) {\n log(\"Binding element\", el);\n if (typeof window.IntersectionObserver === \"undefined\") {\n log(\"IntersectionObserver API is not available in your browser.\");\n } else {\n const observer = createObserver(el, vnode, modifiers, () => {\n log(\"Element is visible\", el);\n const callback = value;\n if (typeof callback === \"function\") callback();\n });\n instances.set(el, { observer });\n }\n}\n\nfunction update(el, { value, oldValue }, vnode) {\n if (value === oldValue) return;\n\n const { observer } = instances.get(el);\n disconnectObserver(observer, el);\n bind(el, { value }, vnode);\n}\n\nfunction unbind(el) {\n if (instances.has(el)) {\n const { observer } = instances.get(el);\n disconnectObserver(observer, el);\n instances.delete(el);\n }\n}\n\nexport default {\n bind,\n update,\n unbind\n};\n","var render, staticRenderFns\nimport script from \"./ScrollingPage.vue?vue&type=script&lang=js&\"\nexport * from \"./ScrollingPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollingPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollingPage.vue?vue&type=script&lang=js&\"","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollingDocument.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollingDocument.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScrollingDocument.vue?vue&type=template&id=89995f5a&\"\nimport script from \"./ScrollingDocument.vue?vue&type=script&lang=js&\"\nexport * from \"./ScrollingDocument.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Scroll from 'vuetify/lib/directives/scroll'\ninstallDirectives(component, {Scroll})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('canvas',_vm._b({directives:[{name:\"visible\",rawName:\"v-visible.once\",value:(_vm.drawPage),expression:\"drawPage\",modifiers:{\"once\":true}}]},'canvas',_vm.canvasAttrs,false))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PDFPage.vue?vue&type=template&id=f8f98c62&\"\nimport script from \"./PDFPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PDFPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PDFPage.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFDocument.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFDocument.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PDFDocument.vue?vue&type=template&id=76f1d4fe&\"\nimport script from \"./PDFDocument.vue?vue&type=script&lang=js&\"\nexport * from \"./PDFDocument.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PDFDocument.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./PDFData.vue?vue&type=script&lang=js&\"\nexport * from \"./PDFData.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFData.vue?vue&type=script&lang=js&\"","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PDFViewer.vue?vue&type=template&id=94d5cb0a&\"\nimport script from \"./PDFViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./PDFViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PDFViewer.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VChip,VIcon,VRow,VSpacer,VTooltip})\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'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2018 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\nvar pdfjsVersion = '2.0.943';\nvar pdfjsBuild = 'dc98bf76';\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\nvar pdfjsDisplayAPI = __w_pdfjs_require__(129);\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(145);\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(146);\nvar pdfjsDisplayDOMUtils = __w_pdfjs_require__(130);\nvar pdfjsDisplaySVG = __w_pdfjs_require__(147);\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(135);\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(132);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(148).PDFNodeStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else if (typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined') {\n var PDFFetchStream = __w_pdfjs_require__(151).PDFFetchStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFFetchStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(152).PDFNetworkStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNetworkStream(params);\n });\n }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.URL = pdfjsSharedUtil.URL;\nexports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDOMUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDOMUtils.loadScript;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\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.unreachable = exports.warn = exports.utf8StringToString = exports.stringToUTF8String = exports.stringToPDFString = exports.stringToBytes = exports.string32 = exports.shadow = exports.setVerbosityLevel = exports.URL = exports.ReadableStream = exports.removeNullCharacters = exports.readUint32 = exports.readUint16 = exports.readInt8 = exports.log2 = exports.isEvalSupported = exports.isLittleEndian = exports.createValidAbsoluteUrl = exports.isSameOrigin = exports.isSpace = exports.isString = exports.isNum = exports.isEmptyObj = exports.isBool = exports.isArrayBuffer = exports.info = exports.getVerbosityLevel = exports.getLookupTableFactory = exports.getInheritableProperty = exports.deprecated = exports.createObjectURL = exports.createPromiseCapability = exports.bytesToString = exports.assert = exports.arraysToBytes = exports.arrayByteLength = exports.FormatError = exports.XRefParseException = exports.toRomanNumerals = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(125);\n\nvar _url_polyfill = __w_pdfjs_require__(127);\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\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};\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};\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\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};\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};\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};\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\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};\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nvar verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.URL(baseUrl);\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n var other = new _url_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n}\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n return null;\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}\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n return lookup;\n };\n}\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\nvar MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n}();\nvar XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n}();\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\nvar NullCharactersRegExp = /\\x00/g;\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n return str.replace(NullCharactersRegExp, '');\n}\nfunction bytesToString(bytes) {\n assert(bytes !== null && (typeof bytes === 'undefined' ? 'undefined' : _typeof(bytes)) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n var strBuf = [];\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 return strBuf.join('');\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 for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n return bytes;\n}\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n var pos = 0;\n var data = new Uint8Array(resultLength);\n for (i = 0; i < ii; i++) {\n item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n return Math.ceil(Math.log2(x));\n}\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\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}\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === undefined ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === undefined ? true : _ref$stopWhenFound;\n\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values = void 0;\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n if (!values) {\n values = [];\n }\n values.push(value);\n }\n if (++loopCount > LOOP_LIMIT) {\n warn('getInheritableProperty: maximum loop count exceeded for \"' + key + '\"');\n break;\n }\n dict = dict.get('Parent');\n }\n return values;\n}\nvar Util = function UtilClosure() {\n function Util() {}\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n Util.transform = function Util_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 Util.applyTransform = function Util_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 Util.applyInverseTransform = function Util_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 Util.getAxialAlignedBoundingBox = function Util_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 Util.inverseTransform = function Util_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 Util.apply3dTransform = function Util_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 Util.singularValueDecompose2dScale = function Util_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 Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n };\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\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 false;\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 false;\n }\n return result;\n };\n return Util;\n}();\nvar ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos = void 0,\n romanBuf = [];\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\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];\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join('');\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n return true;\n}\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\nfunction isNum(v) {\n return typeof v === 'number';\n}\nfunction isString(v) {\n return typeof v === 'string';\n}\nfunction isArrayBuffer(v) {\n return (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === 'object' && v !== null && v.byteLength !== undefined;\n}\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\nfunction createPromiseCapability() {\n var capability = {};\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = resolve;\n capability.reject = reject;\n });\n return capability;\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_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], { type: contentType });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n var buffer = 'data:' + contentType + ';base64,';\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 return buffer;\n };\n}();\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nexports.OPS = OPS;\nexports.VerbosityLevel = VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nexports.AnnotationFlag = AnnotationFlag;\nexports.AnnotationType = AnnotationType;\nexports.FontType = FontType;\nexports.ImageKind = ImageKind;\nexports.CMapCompressionType = CMapCompressionType;\nexports.AbortException = AbortException;\nexports.InvalidPDFException = InvalidPDFException;\nexports.MissingDataException = MissingDataException;\nexports.MissingPDFException = MissingPDFException;\nexports.NativeImageDecoding = NativeImageDecoding;\nexports.PasswordException = PasswordException;\nexports.PasswordResponses = PasswordResponses;\nexports.PermissionFlag = PermissionFlag;\nexports.StreamType = StreamType;\nexports.TextRenderingMode = TextRenderingMode;\nexports.UnexpectedResponseException = UnexpectedResponseException;\nexports.UnknownErrorException = UnknownErrorException;\nexports.Util = Util;\nexports.toRomanNumerals = toRomanNumerals;\nexports.XRefParseException = XRefParseException;\nexports.FormatError = FormatError;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createObjectURL = createObjectURL;\nexports.deprecated = deprecated;\nexports.getInheritableProperty = getInheritableProperty;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.ReadableStream = _streams_polyfill.ReadableStream;\nexports.URL = _url_polyfill.URL;\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;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar globalScope = __w_pdfjs_require__(3);\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n var isNodeJS = __w_pdfjs_require__(4);\n var hasDOM = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && (typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object';\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n (function checkCurrentScript() {\n if (!hasDOM) {\n return;\n }\n if ('currentScript' in document) {\n return;\n }\n Object.defineProperty(document, 'currentScript', {\n get: function get() {\n var scripts = document.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n },\n\n enumerable: true,\n configurable: true\n });\n })();\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n var div = document.createElement('div');\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n var originalDOMTokenListToggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token) {\n if (arguments.length > 1) {\n var force = !!arguments[1];\n return this[force ? 'add' : 'remove'](token), force;\n }\n return originalDOMTokenListToggle(token);\n };\n })();\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n __w_pdfjs_require__(5);\n })();\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n __w_pdfjs_require__(33);\n })();\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n __w_pdfjs_require__(42);\n })();\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n Math.log2 = __w_pdfjs_require__(52);\n })();\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = __w_pdfjs_require__(54);\n })();\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = __w_pdfjs_require__(56);\n })();\n (function checkPromise() {\n if (globalScope.Promise) {\n return;\n }\n globalScope.Promise = __w_pdfjs_require__(59);\n })();\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n globalScope.WeakMap = __w_pdfjs_require__(94);\n })();\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n String.codePointAt = __w_pdfjs_require__(111);\n })();\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n String.fromCodePoint = __w_pdfjs_require__(113);\n })();\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n __w_pdfjs_require__(115);\n })();\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n Object.values = __w_pdfjs_require__(122);\n })();\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = function isNodeJS() {\n return (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process + '' === '[object process]';\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(6);\nmodule.exports = __w_pdfjs_require__(9).String.includes;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar context = __w_pdfjs_require__(25);\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(32)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar core = __w_pdfjs_require__(9);\nvar hide = __w_pdfjs_require__(10);\nvar redefine = __w_pdfjs_require__(20);\nvar ctx = __w_pdfjs_require__(23);\nvar PROTOTYPE = 'prototype';\nvar $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\nvar createDesc = __w_pdfjs_require__(19);\nmodule.exports = __w_pdfjs_require__(15) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(15) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = function (it) {\n return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(15) && !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty(__w_pdfjs_require__(17)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar document = __w_pdfjs_require__(8).document;\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\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/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(10);\nvar has = __w_pdfjs_require__(21);\nvar SRC = __w_pdfjs_require__(22)('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n__w_pdfjs_require__(9).inspectSource = function (it) {\n return $toString.call(it);\n};\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\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/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(26);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar cof = __w_pdfjs_require__(27);\nvar MATCH = __w_pdfjs_require__(28)('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(29)('wks');\nvar uid = __w_pdfjs_require__(22);\nvar _Symbol = __w_pdfjs_require__(8).Symbol;\nvar USE_SYMBOL = typeof _Symbol == 'function';\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n$exports.store = store;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(8);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(30) ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(28)('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n return true;\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(34);\nmodule.exports = __w_pdfjs_require__(9).Array.includes;\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $includes = __w_pdfjs_require__(35)(true);\n$export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__w_pdfjs_require__(41)('includes');\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(36);\nvar toLength = __w_pdfjs_require__(38);\nvar toAbsoluteIndex = __w_pdfjs_require__(40);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(37);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(28)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(10)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(43);\nmodule.exports = __w_pdfjs_require__(9).Object.assign;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S + $export.F, 'Object', { assign: __w_pdfjs_require__(44) });\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar gOPS = __w_pdfjs_require__(49);\nvar pIE = __w_pdfjs_require__(50);\nvar toObject = __w_pdfjs_require__(51);\nvar IObject = __w_pdfjs_require__(37);\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(16)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n }\n }\n return T;\n} : $assign;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(46);\nvar enumBugKeys = __w_pdfjs_require__(48);\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\nvar toIObject = __w_pdfjs_require__(36);\nvar arrayIndexOf = __w_pdfjs_require__(35)(false);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }return result;\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(29)('keys');\nvar uid = __w_pdfjs_require__(22);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(53);\nmodule.exports = __w_pdfjs_require__(9).Math.log2;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(55);\nmodule.exports = __w_pdfjs_require__(9).Number.isNaN;\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(57);\nmodule.exports = __w_pdfjs_require__(9).Number.isInteger;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Number', { isInteger: __w_pdfjs_require__(58) });\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(60);\n__w_pdfjs_require__(62);\n__w_pdfjs_require__(72);\n__w_pdfjs_require__(75);\n__w_pdfjs_require__(92);\n__w_pdfjs_require__(93);\nmodule.exports = __w_pdfjs_require__(9).Promise;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(61);\nvar test = {};\ntest[__w_pdfjs_require__(28)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(20)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nvar TAG = __w_pdfjs_require__(28)('toStringTag');\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(63)(true);\n__w_pdfjs_require__(64)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(30);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar hide = __w_pdfjs_require__(10);\nvar Iterators = __w_pdfjs_require__(65);\nvar $iterCreate = __w_pdfjs_require__(66);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar getPrototypeOf = __w_pdfjs_require__(71);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar returnThis = function returnThis() {\n return this;\n};\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() {\n return $native.call(this);\n };\n }\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(67);\nvar descriptor = __w_pdfjs_require__(19);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar IteratorPrototype = {};\n__w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(28)('iterator'), function () {\n return this;\n});\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar dPs = __w_pdfjs_require__(68);\nvar enumBugKeys = __w_pdfjs_require__(48);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nvar Empty = function Empty() {};\nvar PROTOTYPE = 'prototype';\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(17)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __w_pdfjs_require__(69).appendChild(iframe);\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }return _createDict();\n};\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\nvar anObject = __w_pdfjs_require__(12);\nvar getKeys = __w_pdfjs_require__(45);\nmodule.exports = __w_pdfjs_require__(15) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }return O;\n};\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(8).document;\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(11).f;\nvar has = __w_pdfjs_require__(21);\nvar TAG = __w_pdfjs_require__(28)('toStringTag');\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\nvar toObject = __w_pdfjs_require__(51);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nvar ObjectProto = Object.prototype;\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) 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 ? ObjectProto : null;\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(73);\nvar getKeys = __w_pdfjs_require__(45);\nvar redefine = __w_pdfjs_require__(20);\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(10);\nvar Iterators = __w_pdfjs_require__(65);\nvar wks = __w_pdfjs_require__(28);\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n}\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(41);\nvar step = __w_pdfjs_require__(74);\nvar Iterators = __w_pdfjs_require__(65);\nvar toIObject = __w_pdfjs_require__(36);\nmodule.exports = __w_pdfjs_require__(64)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(30);\nvar global = __w_pdfjs_require__(8);\nvar ctx = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(61);\nvar $export = __w_pdfjs_require__(7);\nvar isObject = __w_pdfjs_require__(13);\nvar aFunction = __w_pdfjs_require__(24);\nvar anInstance = __w_pdfjs_require__(76);\nvar forOf = __w_pdfjs_require__(77);\nvar speciesConstructor = __w_pdfjs_require__(81);\nvar task = __w_pdfjs_require__(82).set;\nvar microtask = __w_pdfjs_require__(84)();\nvar newPromiseCapabilityModule = __w_pdfjs_require__(85);\nvar perform = __w_pdfjs_require__(86);\nvar userAgent = __w_pdfjs_require__(87);\nvar promiseResolve = __w_pdfjs_require__(88);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function empty() {};\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(28)('species')] = function (exec) {\n exec(empty, empty);\n };\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n}();\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function run(reaction) {\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 (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;else {\n if (domain) 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 resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) {\n run(chain[i++]);\n }promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n};\nvar $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n};\nif (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n Internal.prototype = __w_pdfjs_require__(89)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n}\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__w_pdfjs_require__(70)($Promise, PROMISE);\n__w_pdfjs_require__(90)(PROMISE);\nWrapper = __w_pdfjs_require__(9)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(91)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\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 values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\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 forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n return it;\n};\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar call = __w_pdfjs_require__(78);\nvar isArrayIter = __w_pdfjs_require__(79);\nvar anObject = __w_pdfjs_require__(12);\nvar toLength = __w_pdfjs_require__(38);\nvar getIterFn = __w_pdfjs_require__(80);\nvar BREAK = {};\nvar RETURN = {};\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(65);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar ArrayProto = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(61);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar Iterators = __w_pdfjs_require__(65);\nmodule.exports = __w_pdfjs_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar aFunction = __w_pdfjs_require__(24);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar invoke = __w_pdfjs_require__(83);\nvar html = __w_pdfjs_require__(69);\nvar cel = __w_pdfjs_require__(17);\nvar global = __w_pdfjs_require__(8);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function run() {\n var id = +this;\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function listener(event) {\n run.call(event.data);\n};\nif (!setTask || !clearTask) {\n setTask = 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 invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n if (__w_pdfjs_require__(27)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n return fn.apply(that, args);\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar macrotask = __w_pdfjs_require__(82).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(27)(process) == 'process';\nmodule.exports = function () {\n var head, last, notify;\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n last = undefined;\n if (parent) parent.enter();\n };\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true });\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n };\n};\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) 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/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar newPromiseCapability = __w_pdfjs_require__(85);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(20);\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }return target;\n};\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar dP = __w_pdfjs_require__(11);\nvar DESCRIPTORS = __w_pdfjs_require__(15);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () {\n return { done: safe = true };\n };\n arr[ITERATOR] = function () {\n return iter;\n };\n exec(arr);\n } catch (e) {}\n return safe;\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar core = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(8);\nvar speciesConstructor = __w_pdfjs_require__(81);\nvar promiseResolve = __w_pdfjs_require__(88);\n$export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.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});\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar newPromiseCapability = __w_pdfjs_require__(85);\nvar perform = __w_pdfjs_require__(86);\n$export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n});\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(60);\n__w_pdfjs_require__(72);\n__w_pdfjs_require__(95);\n__w_pdfjs_require__(107);\n__w_pdfjs_require__(109);\nmodule.exports = __w_pdfjs_require__(9).WeakMap;\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar each = __w_pdfjs_require__(96)(0);\nvar redefine = __w_pdfjs_require__(20);\nvar meta = __w_pdfjs_require__(100);\nvar assign = __w_pdfjs_require__(44);\nvar weak = __w_pdfjs_require__(101);\nvar isObject = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(16);\nvar validate = __w_pdfjs_require__(102);\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\nvar methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\nvar $WeakMap = module.exports = __w_pdfjs_require__(103)(WEAK_MAP, wrapper, methods, weak, true, true);\nif (fails(function () {\n return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7;\n})) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n }\n return method.call(this, a, b);\n });\n });\n}\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar IObject = __w_pdfjs_require__(37);\nvar toObject = __w_pdfjs_require__(51);\nvar toLength = __w_pdfjs_require__(38);\nvar asc = __w_pdfjs_require__(97);\nmodule.exports = function (TYPE, $create) {\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 var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n case 5:\n return val;\n case 6:\n return index;\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(98);\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar isArray = __w_pdfjs_require__(99);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar META = __w_pdfjs_require__(22)('meta');\nvar isObject = __w_pdfjs_require__(13);\nvar has = __w_pdfjs_require__(21);\nvar setDesc = __w_pdfjs_require__(11).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__w_pdfjs_require__(16)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\nvar fastKey = function fastKey(it, create) {\n if (!isObject(it)) return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n return it[META].i;\n};\nvar getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n return it[META].w;\n};\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(89);\nvar getWeak = __w_pdfjs_require__(100).getWeak;\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar anInstance = __w_pdfjs_require__(76);\nvar forOf = __w_pdfjs_require__(77);\nvar createArrayMethod = __w_pdfjs_require__(96);\nvar $has = __w_pdfjs_require__(21);\nvar validate = __w_pdfjs_require__(102);\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar redefineAll = __w_pdfjs_require__(89);\nvar meta = __w_pdfjs_require__(100);\nvar forOf = __w_pdfjs_require__(77);\nvar anInstance = __w_pdfjs_require__(76);\nvar isObject = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(16);\nvar $iterDetect = __w_pdfjs_require__(91);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar inheritIfRequired = __w_pdfjs_require__(104);\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\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 = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n while (index--) {\n $instance[ADDER](index, index);\n }return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\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) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar setPrototypeOf = __w_pdfjs_require__(105).set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n return that;\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar anObject = __w_pdfjs_require__(12);\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(23)(Function.call, __w_pdfjs_require__(106).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(50);\nvar createDesc = __w_pdfjs_require__(19);\nvar toIObject = __w_pdfjs_require__(36);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar has = __w_pdfjs_require__(21);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(15) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(108)('WeakMap');\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) {\n A[length] = arguments[length];\n }return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(110)('WeakMap');\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar aFunction = __w_pdfjs_require__(24);\nvar ctx = __w_pdfjs_require__(23);\nvar forOf = __w_pdfjs_require__(77);\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(112);\nmodule.exports = __w_pdfjs_require__(9).String.codePointAt;\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $at = __w_pdfjs_require__(63)(false);\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(114);\nmodule.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar toAbsoluteIndex = __w_pdfjs_require__(40);\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n return res.join('');\n }\n});\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116);\n__w_pdfjs_require__(60);\nmodule.exports = __w_pdfjs_require__(9).Symbol;\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar global = __w_pdfjs_require__(8);\nvar has = __w_pdfjs_require__(21);\nvar DESCRIPTORS = __w_pdfjs_require__(15);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar META = __w_pdfjs_require__(100).KEY;\nvar $fails = __w_pdfjs_require__(16);\nvar shared = __w_pdfjs_require__(29);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar uid = __w_pdfjs_require__(22);\nvar wks = __w_pdfjs_require__(28);\nvar wksExt = __w_pdfjs_require__(117);\nvar wksDefine = __w_pdfjs_require__(118);\nvar enumKeys = __w_pdfjs_require__(119);\nvar isArray = __w_pdfjs_require__(99);\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar toIObject = __w_pdfjs_require__(36);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar createDesc = __w_pdfjs_require__(19);\nvar _create = __w_pdfjs_require__(67);\nvar gOPNExt = __w_pdfjs_require__(120);\nvar $GOPD = __w_pdfjs_require__(106);\nvar $DP = __w_pdfjs_require__(11);\nvar $keys = __w_pdfjs_require__(45);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n }\n return setSymbolDesc(it, key, D);\n }\n return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n return result;\n};\nif (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(121).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(50).f = $propertyIsEnumerable;\n __w_pdfjs_require__(49).f = $getOwnPropertySymbols;\n if (DESCRIPTORS && !__w_pdfjs_require__(30)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\nfor (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n}for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n}$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n});\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }$replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(28);\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar core = __w_pdfjs_require__(9);\nvar LIBRARY = __w_pdfjs_require__(30);\nvar wksExt = __w_pdfjs_require__(117);\nvar defineProperty = __w_pdfjs_require__(11).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar gOPS = __w_pdfjs_require__(49);\nvar pIE = __w_pdfjs_require__(50);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n return result;\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar toIObject = __w_pdfjs_require__(36);\nvar gOPN = __w_pdfjs_require__(121).f;\nvar toString = {}.toString;\nvar windowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(46);\nvar hiddenKeys = __w_pdfjs_require__(48).concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(123);\nmodule.exports = __w_pdfjs_require__(9).Object.values;\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $values = __w_pdfjs_require__(124)(false);\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar toIObject = __w_pdfjs_require__(36);\nvar isEnum = __w_pdfjs_require__(50).f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }return result;\n };\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isReadableStreamSupported = false;\nif (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}\nif (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n} else {\n exports.ReadableStream = __w_pdfjs_require__(126).ReadableStream;\n}\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof2 = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n})(exports, function (modules) {\n var installedModules = {};\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n __w_pdfjs_require__.d(getter, 'a', getter);\n return getter;\n };\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n };\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n if (v === Infinity) {\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 exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n };\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (Number.isNaN(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 exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n _classCallCheck(this, WritableStream);\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n this._writableStreamController.__startSteps();\n }\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n }\n }]);\n return WritableStream;\n }();\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\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 assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\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') {\n return Promise.resolve(undefined);\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n var error = new TypeError('Requested to abort');\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(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 assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\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 assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n stream._writableStreamController.__errorSteps();\n var storedError = stream._storedError;\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n writeRequest._reject(storedError);\n }\n stream._writeRequests = [];\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 promise.then(function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\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 assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\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 assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === 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 writer._closedPromise.catch(function () {});\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\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 this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n this._closedPromise.catch(function () {});\n }\n }\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\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 }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n }\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 assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable' || state === 'erroring');\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 writer._closedPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n writer._readyPromise.catch(function () {});\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 assert(stream !== undefined);\n assert(stream._writer === writer);\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 assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(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 }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n }]);\n return WritableStreamDefaultController;\n }();\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n if (strategySize === undefined) {\n return 1;\n }\n try {\n return strategySize(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 IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n return true;\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 === 'closed' || state === 'errored') {\n return;\n }\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 assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\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 WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\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 assert(stream._state === 'writable');\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 = new Promise(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 writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\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 assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\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 = new Promise(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 writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\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 assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\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 exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\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 exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n _classCallCheck(this, ReadableStream);\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return Promise.reject(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 (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n if (done === true) {\n return;\n }\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n });\n }).then(pipeLoop);\n }\n isOrBecomesErrored(_this, 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(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, 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 = 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(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n pipeLoop().catch(function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(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 promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\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 waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\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 waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsReadableStreamLocked(this);\n }\n }]);\n return ReadableStream;\n }();\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\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 IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n reader._closedPromise.catch(function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n return [branch1Stream, branch2Stream];\n }\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n teeState.closedOrErrored = true;\n }\n if (teeState.closedOrErrored === true) {\n return;\n }\n var value1 = value;\n var value2 = value;\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n return f;\n }\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(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 ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(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 ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n _resolve(CreateIterResultObject(undefined, true));\n }\n reader._readRequests = [];\n }\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n readRequest._reject(e);\n }\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n readIntoRequest._reject(e);\n }\n reader._readIntoRequests = [];\n }\n defaultReaderClosedPromiseReject(reader, e);\n reader._closedPromise.catch(function () {});\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n return true;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\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 = [];\n }\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\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 }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamDefaultReader;\n }();\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\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 = [];\n }\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\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 }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\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 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 ReadableStreamReaderGenericInitialize(reader, stream) {\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 assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n reader._closedPromise.catch(function () {});\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === 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._closedPromise.catch(function () {});\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('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._controlledReadableStream._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 ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._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 return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\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 ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n if (controller._closeRequested === true) {\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 ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\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 var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(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 ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(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 ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\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._controlledReadableStream._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 }, {\n key: 'enqueue',\n value: function enqueue(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._controlledReadableStream._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 ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 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 Promise.reject(viewE);\n }\n return Promise.resolve(CreateIterResultObject(view, false));\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 Promise.reject(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 }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\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 undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\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[0];\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 if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\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 assert(controller._closeRequested === false);\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.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 pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\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 Promise.reject(e);\n }\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\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 assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\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._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\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 assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\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._controlledReadableStream;\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 if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\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 ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\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 assert(controller._queue.length === 0);\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 assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(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 ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\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 streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\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 ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n var readableStream = __w_pdfjs_require__(4);\n var writableStream = __w_pdfjs_require__(2);\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n TransformStreamCloseReadableInternal(transformStream);\n }\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n var controller = transformStream._readableController;\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n TransformStreamErrorInternal(transformStream, e);\n }\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n transformStream._readableClosed = true;\n }\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n transformStream._backpressure = backpressure;\n }\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\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 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 var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n return Promise.resolve();\n }).catch(function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n return TransformStreamSink;\n }();\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n return TransformStreamSource;\n }();\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n this._controlledTransformStream = transformStream;\n }\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n return TransformStreamDefaultController;\n }();\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, TransformStream);\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise.catch(function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n return this._writable;\n }\n }]);\n return TransformStream;\n }();\n module.exports = { TransformStream: TransformStream };\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n}, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n{\n var isURLSupported = false;\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(128).URL;\n var OriginalURL = __w_pdfjs_require__(3).URL;\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n exports.URL = PolyfillURL;\n }\n}\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n(function URLConstructorClosure() {\n 'use strict';\n\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n return h.toLowerCase();\n }\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n break;\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n if (stateOverride) {\n break loop;\n }\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n break;\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n break;\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n break;\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n break;\n case 'relative':\n this._isRelative = true;\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n this._path.pop();\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n break;\n case 'authority second slash':\n state = 'authority ignore slashes';\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n break;\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n break;\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n seenAt = true;\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n var tempC = percentEscape(cp);\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n break;\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n break;\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n if (stateOverride) {\n break loop;\n }\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n break;\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n buffer = '';\n }\n if (stateOverride) {\n break loop;\n }\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n break;\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n state = 'relative path';\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n break;\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n var tmp;\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n if (buffer === '..') {\n this._path.pop();\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n this._path.push(buffer);\n }\n buffer = '';\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n break;\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n break;\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n break;\n }\n cursor++;\n }\n }\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n var authority = '';\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n get protocol() {\n return this._scheme + ':';\n },\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n parse.call(this, value + ':', 'scheme start');\n },\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'host');\n },\n get hostname() {\n return this._host;\n },\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'hostname');\n },\n get port() {\n return this._port;\n },\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'port');\n },\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._query = '?';\n if (value[0] === '?') {\n value = value.slice(1);\n }\n parse.call(this, value, 'query');\n },\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n this._fragment = '#';\n if (value[0] === '#') {\n value = value.slice(1);\n }\n parse.call(this, value, 'fragment');\n },\n get origin() {\n var host;\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n return 'null';\n }\n host = this.host;\n if (!host) {\n return '';\n }\n return this._scheme + '://' + host;\n }\n };\n exports.URL = JURL;\n})();\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.build = exports.version = exports.setPDFNetworkStreamFactory = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.getDocument = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _font_loader = __w_pdfjs_require__(131);\n\nvar _api_compatibility = __w_pdfjs_require__(132);\n\nvar _canvas = __w_pdfjs_require__(133);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nvar _worker_options = __w_pdfjs_require__(135);\n\nvar _message_handler = __w_pdfjs_require__(136);\n\nvar _metadata = __w_pdfjs_require__(141);\n\nvar _transport_stream = __w_pdfjs_require__(143);\n\nvar _webgl = __w_pdfjs_require__(144);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar fallbackWorkerSrc = void 0;\nvar fakeWorkerFilesLoader = null;\n{\n var useRequireEnsure = false;\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function () {\n return new Promise(function (resolve, reject) {\n require.ensure([], function () {\n try {\n var worker = void 0;\n worker = require('./pdf.worker.js');\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject, 'pdfjsWorker');\n });\n } : dynamicLoaderSupported ? function () {\n return new Promise(function (resolve, reject) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n try {\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n });\n } : null;\n if (!fallbackWorkerSrc && typeof document !== 'undefined') {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n }\n}\nvar createPDFNetworkStream;\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n if (typeof src === 'string') {\n source = { url: src };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n source = src;\n }\n var params = Object.create(null);\n var rangeTransport = null;\n var worker = null;\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new _util.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 if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if ((typeof pdfBytes === 'undefined' ? 'undefined' : _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 continue;\n }\n params[key] = source[key];\n }\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _dom_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n (0, _util.setVerbosityLevel)(params.verbosity);\n if (!worker) {\n var workerParams = {\n postMessageTransfers: params.postMessageTransfers,\n verbosity: params.verbosity\n };\n var workerPort = _worker_options.GlobalWorkerOptions.workerPort;\n if (workerPort) {\n workerParams.port = workerPort;\n worker = PDFWorker.fromPort(workerParams);\n } else {\n worker = new PDFWorker(workerParams);\n }\n task._worker = worker;\n }\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n var networkStream = void 0;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\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 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}\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n }\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.0.943',\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 disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n return workerId;\n });\n}\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n function PDFDocumentLoadingTask() {\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 PDFDocumentLoadingTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n destroy: 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 if (_this._worker) {\n _this._worker.destroy();\n _this._worker = null;\n }\n });\n },\n\n then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport = function () {\n function PDFDataRangeTransport(length, initialData) {\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\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: 'onDataRange',\n value: function onDataRange(begin, chunk) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n\n listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'onDataProgress',\n value: function onDataProgress(loaded) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var listener = _step2.value;\n\n listener(loaded);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\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 _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var listener = _step3.value;\n\n listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\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\nvar PDFDocumentProxy = function () {\n function PDFDocumentProxy(pdfInfo, transport, loadingTask) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this.loadingTask = loadingTask;\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: 'getPageMode',\n value: function getPageMode() {\n return this._transport.getPageMode();\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: '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 this._transport.startCleanup();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n return this.loadingTask.destroy();\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\n return PDFDocumentProxy;\n}();\n\nvar PDFPageProxy = function PDFPageProxyClosure() {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this.transport = transport;\n this._stats = pdfBug ? new _dom_utils.StatTimer() : _dom_utils.DummyStatTimer;\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 = Object.create(null);\n this.destroyed = false;\n }\n PDFPageProxy.prototype = {\n get pageNumber() {\n return this.pageIndex + 1;\n },\n get rotate() {\n return this._pageInfo.rotate;\n },\n get ref() {\n return this._pageInfo.ref;\n },\n get userUnit() {\n return this._pageInfo.userUnit;\n },\n get view() {\n return this._pageInfo.view;\n },\n getViewport: function getViewport(scale) {\n var rotate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.rotate;\n var dontFlip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n return new _dom_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotate,\n dontFlip: dontFlip\n });\n },\n\n getAnnotations: function PDFPageProxy_getAnnotations(params) {\n var intent = params && params.intent || null;\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this.transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n },\n render: function PDFPageProxy_render(params) {\n var _this4 = this;\n\n var stats = this._stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = params.intent === 'print' ? 'print' : 'display';\n var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({ enable: params.enableWebGL });\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n if (!intentState.displayReadyCapability) {\n intentState.receivingOperatorList = true;\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n stats.time('Page Request');\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: params.renderInteractiveForms === true\n });\n }\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n if (_this4.cleanupAfterRender) {\n _this4.pendingCleanup = true;\n }\n _this4._tryCleanup();\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory, webGLContext, this._pdfBug);\n internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this4.pendingCleanup) {\n complete();\n return;\n }\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n },\n getOperatorList: function PDFPageProxy_getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n var renderingIntent = 'oplist';\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.receivingOperatorList = true;\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 this._stats.time('Page Request');\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n return intentState.opListReadCapability.promise;\n },\n streamTextContent: function streamTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this.transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: params.normalizeWhitespace === true,\n combineTextItems: params.disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n },\n\n getTextContent: function PDFPageProxy_getTextContent(params) {\n params = params || {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref) {\n var _textContent$items;\n\n var value = _ref.value,\n done = _ref.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n pump();\n }, reject);\n }\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n },\n _destroy: function PDFPageProxy_destroy() {\n this.destroyed = true;\n this.transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n if (intent === 'oplist') {\n return;\n }\n var intentState = this.intentStates[intent];\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n },\n cleanup: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.pendingCleanup = true;\n this._tryCleanup(resetStats);\n },\n _tryCleanup: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n }, this)) {\n return;\n }\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n if (resetStats && this._stats instanceof _dom_utils.StatTimer) {\n this._stats = new _dom_utils.StatTimer();\n }\n this.pendingCleanup = false;\n },\n\n _startRenderPage: function PDFPageProxy_startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n },\n _renderPageChunk: function PDFPageProxy_renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n var i, ii;\n for (i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n for (i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n this._tryCleanup();\n }\n },\n get stats() {\n return this._stats instanceof _dom_utils.StatTimer ? this._stats : null;\n }\n };\n return PDFPageProxy;\n}();\n\nvar LoopbackPort = 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 _this5 = this;\n\n function cloneValue(value) {\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n var result;\n var buffer;\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n if (value === buffer) {\n result = value;\n } else if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n for (var i in value) {\n var desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(this, { data: obj });\n }, this);\n return;\n }\n var cloned = new WeakMap();\n var e = { data: cloneValue(obj) };\n this._deferred.then(function () {\n _this5._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this5);\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 this._listeners.splice(i, 1);\n }\n }, {\n key: 'terminate',\n value: function terminate() {\n this._listeners = [];\n }\n }]);\n\n return LoopbackPort;\n}();\n\nvar PDFWorker = function PDFWorkerClosure() {\n var nextFakeWorkerId = 0;\n function getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n return null;\n }\n var fakeWorkerFilesLoadedCapability = void 0;\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _dom_utils.loadScript)(getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return _util.URL.createObjectURL(new Blob([wrapper]));\n }\n var pdfWorkerPorts = new WeakMap();\n function PDFWorker() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$name = _ref2.name,\n name = _ref2$name === undefined ? null : _ref2$name,\n _ref2$port = _ref2.port,\n port = _ref2$port === undefined ? null : _ref2$port,\n _ref2$postMessageTran = _ref2.postMessageTransfers,\n postMessageTransfers = _ref2$postMessageTran === undefined ? true : _ref2$postMessageTran,\n _ref2$verbosity = _ref2.verbosity,\n verbosity = _ref2$verbosity === undefined ? (0, _util.getVerbosityLevel)() : _ref2$verbosity;\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = postMessageTransfers !== false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n pdfWorkerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n PDFWorker.prototype = {\n get promise() {\n return this._readyCapability.promise;\n },\n get port() {\n return this._port;\n },\n get messageHandler() {\n return this._messageHandler;\n },\n _initializeFromPort: function PDFWorker_initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);\n this._messageHandler.on('ready', function () {});\n this._readyCapability.resolve();\n },\n _initialize: function PDFWorker_initialize() {\n var _this6 = this;\n\n if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = getWorkerSrc();\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new _util.URL(workerSrc, window.location).href);\n }\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (_this6.destroyed) {\n _this6._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this6._setupFakeWorker();\n }\n };\n var onWorkerError = function onWorkerError() {\n if (!_this6._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n if (data && data.supportTypedArray) {\n _this6._messageHandler = messageHandler;\n _this6._port = worker;\n _this6._webWorker = worker;\n if (!data.supportTransfers) {\n _this6.postMessageTransfers = false;\n }\n _this6._readyCapability.resolve();\n messageHandler.send('configure', { verbosity: _this6.verbosity });\n } else {\n _this6._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch (e) {\n _this6._setupFakeWorker();\n }\n });\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this6.postMessageTransfers ? 255 : 0]);\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.info)('Cannot use postMessage transfers');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n this._setupFakeWorker();\n },\n _setupFakeWorker: function PDFWorker_setupFakeWorker() {\n var _this7 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n return;\n }\n var port = new LoopbackPort();\n _this7._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 _this7._messageHandler = messageHandler;\n _this7._readyCapability.resolve();\n }).catch(function (reason) {\n _this7._readyCapability.reject(new Error('Setting up fake worker failed: \"' + reason.message + '\".'));\n });\n },\n destroy: function PDFWorker_destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n };\n PDFWorker.fromPort = function (params) {\n if (!params || !params.port) {\n throw new Error('PDFWorker.fromPort - invalid method signature.');\n }\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n return new PDFWorker(params);\n };\n PDFWorker.getWorkerSrc = function () {\n return getWorkerSrc();\n };\n return PDFWorker;\n}();\n\nvar WorkerTransport = 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(loadingTask.docId);\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 _this8 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache = [];\n this.pagePromises = [];\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this8.fontLoader.clear();\n if (_this8._networkStream) {\n _this8._networkStream.cancelAllRequests();\n }\n if (_this8.messageHandler) {\n _this8.messageHandler.destroy();\n _this8.messageHandler = null;\n }\n _this8.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: 'setupMessageHandler',\n value: function setupMessageHandler() {\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n\n messageHandler.on('GetReader', function (data, sink) {\n var _this9 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = function (evt) {\n _this9._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = function () {\n _this9._fullReader.read().then(function (_ref3) {\n var value = _ref3.value,\n done = _ref3.done;\n\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n _this9._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this10 = this;\n\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this10._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this10._lastProgress);\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 headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n }, this);\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(this._networkStream);\n var rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n sink.onPull = function () {\n rangeReader.read().then(function (_ref4) {\n var value = _ref4.value,\n done = _ref4.done;\n\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function (_ref5) {\n var pdfInfo = _ref5.pdfInfo;\n\n this.numPages = pdfInfo.numPages;\n this.pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n loadingTask._capability.resolve(this.pdfDocument);\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this11 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this11._passwordCapability.resolve({ password: password });\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\n messageHandler.on('DataLoaded', function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('StartRenderPage', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page._stats.timeEnd('Page Request');\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function (data) {\n var _this12 = this;\n\n if (this.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 (this.commonObjs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'Font':\n var params = this._params;\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)('Error during font loading: ' + exportedError);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n var fontRegistry = null;\n if (params.pdfBug && _global_scope2.default.FontInspector && _global_scope2.default.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope2.default['FontInspector'].fontAdded(font, url);\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: this._onUnsupportedFeature.bind(this),\n fontRegistry: fontRegistry\n });\n var fontReady = function fontReady(fontObjs) {\n _this12.commonObjs.resolve(id, font);\n };\n this.fontLoader.bind([font], fontReady);\n break;\n case 'FontPath':\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error('Got unknown common object type ' + type);\n }\n }, this);\n messageHandler.on('obj', function (data) {\n if (this.destroyed) {\n return;\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 = this.pageCache[pageIndex];\n if (pageProxy.objs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n resolve(img);\n };\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n };\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n case 'Image':\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n break;\n default:\n throw new Error('Got unknown object type ' + type);\n }\n }, this);\n messageHandler.on('DocProgress', function (data) {\n if (this.destroyed) {\n return;\n }\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageNum - 1];\n var intentState = page.intentStates[data.intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(data.error);\n } else {\n throw new Error(data.error);\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n }\n }, this);\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n var width = img.width;\n var height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n if (components === 3) {\n for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (var _i = 0, _j = 0; _i < rgbaLength; _i += 4, _j++) {\n buf[_j] = data[_i];\n }\n }\n resolve({\n data: buf,\n width: width,\n height: height\n });\n };\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n };\n img.src = imageUrl;\n });\n }, this);\n messageHandler.on('FetchBuiltInCMap', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n return this.CMapReaderFactory.fetch({ name: data.name });\n }, this);\n }\n }, {\n key: '_onUnsupportedFeature',\n value: function _onUnsupportedFeature(_ref6) {\n var featureId = _ref6.featureId;\n\n if (this.destroyed) {\n return;\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 var pageIndex = pageNumber - 1;\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error('Transport destroyed');\n }\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _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', { ref: ref }).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: '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 return this.messageHandler.sendWithPromise('GetDestination', { id: id });\n }\n }, {\n key: 'getPageLabels',\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: 'getPageMode',\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', 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: '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 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 if (page) {\n page.cleanup();\n }\n }\n _this15.commonObjs.clear();\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 disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = function PDFObjectsClosure() {\n function PDFObjects() {\n this.objs = Object.create(null);\n }\n PDFObjects.prototype = {\n ensureObj: function PDFObjects_ensureObj(objId) {\n if (this.objs[objId]) {\n return this.objs[objId];\n }\n var obj = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n this.objs[objId] = obj;\n return obj;\n },\n get: function PDFObjects_get(objId, callback) {\n if (callback) {\n this.ensureObj(objId).capability.promise.then(callback);\n return null;\n }\n var obj = this.objs[objId];\n if (!obj || !obj.resolved) {\n throw new Error('Requesting object that isn\\'t resolved yet ' + objId);\n }\n return obj.data;\n },\n resolve: function PDFObjects_resolve(objId, data) {\n var obj = this.ensureObj(objId);\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n },\n isResolved: function PDFObjects_isResolved(objId) {\n var objs = this.objs;\n if (!objs[objId]) {\n return false;\n }\n return objs[objId].resolved;\n },\n hasData: function PDFObjects_hasData(objId) {\n return this.isResolved(objId);\n },\n getData: function PDFObjects_getData(objId) {\n var objs = this.objs;\n if (!objs[objId] || !objs[objId].resolved) {\n return null;\n }\n return objs[objId].data;\n },\n clear: function PDFObjects_clear() {\n this.objs = Object.create(null);\n }\n };\n return PDFObjects;\n}();\nvar RenderTask = function RenderTaskClosure() {\n function RenderTask(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n RenderTask.prototype = {\n get promise() {\n return this._internalRenderTask.capability.promise;\n },\n cancel: function RenderTask_cancel() {\n this._internalRenderTask.cancel();\n },\n then: function RenderTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return RenderTask;\n}();\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakMap();\n function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory, webGLContext) {\n var pdfBug = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;\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.pageNumber = pageNumber;\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 = false;\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 InternalRenderTask.prototype = {\n initializeGraphics: function initializeGraphics(transparency) {\n if (this.cancelled) {\n return;\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 canvasInRendering.set(this._canvas, this);\n }\n if (this._pdfBug && _global_scope2.default.StepperManager && _global_scope2.default.StepperManager.enabled) {\n this.stepper = _global_scope2.default.StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n var params = this.params;\n this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, params.imageLayer);\n this.gfx.beginDrawing({\n transform: params.transform,\n viewport: params.viewport,\n transparency: transparency,\n background: params.background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n },\n\n cancel: function InternalRenderTask_cancel() {\n this.running = false;\n this.cancelled = true;\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback(new _dom_utils.RenderingCancelledException('Rendering cancelled, page ' + this.pageNumber, 'canvas'));\n },\n operatorListChanged: function InternalRenderTask_operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n return;\n }\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n if (this.running) {\n return;\n }\n this._continue();\n },\n _continue: function InternalRenderTask__continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n },\n _scheduleNext: function InternalRenderTask__scheduleNext() {\n var _this16 = this;\n\n if (this.useRequestAnimationFrame && typeof window !== 'undefined') {\n window.requestAnimationFrame(function () {\n _this16._nextBound().catch(_this16.callback);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.callback);\n }\n },\n _next: function InternalRenderTask__next() {\n var _this17 = this;\n\n return new Promise(function () {\n if (_this17.cancelled) {\n return;\n }\n _this17.operatorListIdx = _this17.gfx.executeOperatorList(_this17.operatorList, _this17.operatorListIdx, _this17._continueBound, _this17.stepper);\n if (_this17.operatorListIdx === _this17.operatorList.argsArray.length) {\n _this17.running = false;\n if (_this17.operatorList.lastChunk) {\n _this17.gfx.endDrawing();\n if (_this17._canvas) {\n canvasInRendering.delete(_this17._canvas);\n }\n _this17.callback();\n }\n }\n });\n }\n };\n return InternalRenderTask;\n}();\nvar version, build;\n{\n exports.version = version = '2.0.943';\n exports.build = build = 'dc98bf76';\n}\nexports.getDocument = getDocument;\nexports.LoopbackPort = LoopbackPort;\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nexports.PDFWorker = PDFWorker;\nexports.PDFDocumentProxy = PDFDocumentProxy;\nexports.PDFPageProxy = PDFPageProxy;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.version = version;\nexports.build = build;\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadScript = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.getFilenameFromUrl = exports.addLinkAttributes = exports.RenderingCancelledException = exports.PageViewport = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory = function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\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 var canvas = document.createElement('canvas');\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 key: 'reset',\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\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 canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n}();\n\nvar DOMCMapReaderFactory = function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === undefined ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === undefined ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: 'fetch',\n value: function fetch(_ref2) {\n var _this = this;\n\n var name = _ref2.name;\n\n if (!this.baseUrl) {\n return Promise.reject(new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'));\n }\n if (!name) {\n return Promise.reject(new Error('CMap name must be specified.'));\n }\n return new Promise(function (resolve, reject) {\n var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n var data = void 0;\n if (_this.isCompressed && request.response) {\n data = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve({\n cMapData: data,\n compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n });\n return;\n }\n }\n reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n };\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nvar DOMSVGFactory = 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\nvar PageViewport = function () {\n function PageViewport(_ref3) {\n var viewBox = _ref3.viewBox,\n scale = _ref3.scale,\n rotation = _ref3.rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === undefined ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === undefined ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === undefined ? false : _ref3$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 = void 0,\n rotateB = void 0,\n rotateC = void 0,\n rotateD = void 0;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n var offsetCanvasX = void 0,\n offsetCanvasY = void 0;\n var width = void 0,\n height = void 0;\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 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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$scale = _ref4.scale,\n scale = _ref4$scale === undefined ? this.scale : _ref4$scale,\n _ref4$rotation = _ref4.rotation,\n rotation = _ref4$rotation === undefined ? this.rotation : _ref4$rotation,\n _ref4$dontFlip = _ref4.dontFlip,\n dontFlip = _ref4$dontFlip === undefined ? false : _ref4$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: this.offsetX,\n offsetY: this.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 tl = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n var br = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [tl[0], tl[1], br[0], br[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\nvar RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n}();\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\nfunction addLinkAttributes(link) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref5.url,\n target = _ref5.target,\n rel = _ref5.rel;\n\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n if (url) {\n var LinkTargetValues = Object.values(LinkTarget);\n var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;\n link.target = LinkTargetStringMap[targetIndex];\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 = function () {\n function StatTimer() {\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, StatTimer);\n\n this.enabled = !!enable;\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: 'time',\n value: function time(name) {\n if (!this.enabled) {\n return;\n }\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\n this.started[name] = Date.now();\n }\n }, {\n key: 'timeEnd',\n value: function timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + name);\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 times = this.times;\n var out = '',\n longest = 0;\n for (var i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (var _i = 0, _ii = times.length; _i < _ii; ++_i) {\n var span = times[_i];\n var duration = span.end - span.start;\n out += span['name'].padEnd(longest) + ' ' + duration + 'ms\\n';\n }\n return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nvar DummyStatTimer = function () {\n function DummyStatTimer() {\n _classCallCheck(this, DummyStatTimer);\n\n (0, _util.unreachable)('Cannot initialize DummyStatTimer.');\n }\n\n _createClass(DummyStatTimer, null, [{\n key: 'time',\n value: function time(name) {}\n }, {\n key: 'timeEnd',\n value: function timeEnd(name) {}\n }, {\n key: 'toString',\n value: function toString() {\n return '';\n }\n }]);\n\n return DummyStatTimer;\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 script.onerror = function () {\n reject(new Error('Cannot load script at: ' + script.src));\n };\n (document.head || document.documentElement).appendChild(script);\n });\n}\nexports.PageViewport = PageViewport;\nexports.RenderingCancelledException = RenderingCancelledException;\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.LinkTarget = LinkTarget;\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nexports.DOMCanvasFactory = DOMCanvasFactory;\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nexports.DOMSVGFactory = DOMSVGFactory;\nexports.StatTimer = StatTimer;\nexports.DummyStatTimer = DummyStatTimer;\nexports.loadScript = loadScript;\n\n/***/ }),\n/* 131 */\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 = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar BaseFontLoader = function () {\n function BaseFontLoader(docId) {\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n this.docId = docId;\n this.nativeFontFaces = [];\n this.styleElement = null;\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n }\n\n _createClass(BaseFontLoader, [{\n key: 'addNativeFontFace',\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: 'insertRule',\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = 'PDFJS_FONT_STYLE_TAG_' + this.docId;\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: 'bind',\n value: function bind(fonts, callback) {\n var rules = [];\n var fontsToLoad = [];\n var fontLoadPromises = [];\n var getNativeFontPromise = function getNativeFontPromise(nativeFontFace) {\n return nativeFontFace.loaded.catch(function (reason) {\n (0, _util.warn)('Failed to load font \"' + nativeFontFace.family + '\": ' + reason);\n });\n };\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = fonts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var font = _step.value;\n\n if (font.attached || font.missingFile) {\n continue;\n }\n font.attached = true;\n if (this.isFontLoadingAPISupported) {\n var nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n fontLoadPromises.push(getNativeFontPromise(nativeFontFace));\n }\n } else {\n var rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n rules.push(rule);\n fontsToLoad.push(font);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var request = this._queueLoadingCallback(callback);\n if (this.isFontLoadingAPISupported) {\n Promise.all(fontLoadPromises).then(request.complete);\n } else if (rules.length > 0 && !this.isSyncFontLoadingSupported) {\n this._prepareFontLoadEvent(rules, fontsToLoad, request);\n } else {\n request.complete();\n }\n }\n }, {\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 while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n var context = this.loadingContext;\n var request = {\n id: 'pdfjs-font-loading-' + 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, fontsToLoad, request) {\n (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');\n }\n }, {\n key: 'isFontLoadingAPISupported',\n get: function get() {\n (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');\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 = void 0;\n{\n exports.FontLoader = FontLoader = function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n _classCallCheck(this, GenericFontLoader);\n\n var _this = _possibleConstructorReturn(this, (GenericFontLoader.__proto__ || Object.getPrototypeOf(GenericFontLoader)).call(this, docId));\n\n _this.loadTestFontId = 0;\n return _this;\n }\n\n _createClass(GenericFontLoader, [{\n key: '_prepareFontLoadEvent',\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n 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 var i = void 0,\n ii = void 0;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n function isFontReady(name, callback) {\n called++;\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n var loadTestFontId = 'lt' + Date.now() + 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 for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = 'url(data:font/opentype;base64,' + btoa(data) + ');';\n var rule = '@font-face {font-family:\"' + loadTestFontId + '\";src:' + url + '}';\n this.insertRule(rule);\n var names = [];\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: 'isFontLoadingAPISupported',\n get: function get() {\n var supported = typeof document !== 'undefined' && !!document.fonts;\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\n }\n }, {\n key: 'isSyncFontLoadingSupported',\n get: function get() {\n var supported = false;\n if (typeof navigator === 'undefined') {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] >= 14) {\n supported = true;\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 return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n};\n\nvar FontFaceObject = function () {\n function FontFaceObject(translatedData, _ref) {\n var _ref$isEvalSupported = _ref.isEvalSupported,\n isEvalSupported = _ref$isEvalSupported === undefined ? true : _ref$isEvalSupported,\n _ref$disableFontFace = _ref.disableFontFace,\n disableFontFace = _ref$disableFontFace === undefined ? false : _ref$disableFontFace,\n _ref$ignoreErrors = _ref.ignoreErrors,\n ignoreErrors = _ref$ignoreErrors === undefined ? false : _ref$ignoreErrors,\n _ref$onUnsupportedFea = _ref.onUnsupportedFeature,\n onUnsupportedFeature = _ref$onUnsupportedFea === undefined ? null : _ref$onUnsupportedFea,\n _ref$fontRegistry = _ref.fontRegistry,\n fontRegistry = _ref$fontRegistry === undefined ? null : _ref$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n for (var i in translatedData) {\n this[i] = translatedData[i];\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 var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n return nativeFontFace;\n }\n }, {\n key: 'createFontFaceRule',\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = 'url(data:' + this.mimetype + ';base64,' + btoa(data) + ');';\n var rule = '@font-face {font-family:\"' + this.loadedName + '\";src:' + url + '}';\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\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 var cmds = void 0,\n current = void 0;\n try {\n cmds = objs.get(this.loadedName + '_path_' + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({ featureId: _util.UNSUPPORTED_FEATURES.font });\n }\n (0, _util.warn)('getPathGenerator - ignoring character: \"' + ex + '\".');\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n var args = void 0,\n js = '';\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n return this.compiledGlyphs[character] = new Function('c', 'size', js);\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 if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\nexports.FontLoader = FontLoader;\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar compatibilityParams = Object.create(null);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n (function checkFontFaceAndImage() {\n if (isNodeJS()) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = 'none';\n }\n })();\n}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(134);\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;\nvar IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\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 ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n this._transformStack.push(old);\n this._transformMatrix = old.slice(0, 6);\n this._originalSave();\n };\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n if (prev) {\n this._transformMatrix = prev;\n this._originalRestore();\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 this._originalTranslate(x, y);\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 this._originalScale(x, y);\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 ctx._originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n ctx._originalSetTransform(a, b, c, d, e, f);\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 this._originalRotate(angle);\n };\n }\n}\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\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 if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\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}();\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 for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n var count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\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 pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\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 pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n do {\n var step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n pp = points[p];\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 coords.push(p % width1);\n coords.push(p / width1 | 0);\n --count;\n } while (p0 !== p);\n outlines.push(coords);\n --i;\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 for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n c.fill();\n c.beginPath();\n c.restore();\n };\n return drawOutline;\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 }\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}();\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\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.cachedCanvases = new CachedCanvases(this.canvasFactory);\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n this._cachedGetSinglePixelWidth = null;\n }\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\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 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 = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\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 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 for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\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 ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error('bad image kind: ' + imgData.kind);\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 for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\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 if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\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 function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\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 function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\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 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 if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\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 if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\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 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 genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\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(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n transparency = _ref.transparency,\n _ref$background = _ref.background,\n background = _ref$background === undefined ? null : _ref$background;\n\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 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 this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\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 if (argsArrayLen === i) {\n return i;\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 while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var depObjId = deps[n];\n var common = depObjId[0] === 'g' && depObjId[1] === '_';\n var objsPool = common ? commonObjs : objs;\n if (!objsPool.isResolved(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n this.ctx.restore();\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 this.cachedCanvases.clear();\n this.webGLContext.clear();\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 if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {},\n setFlatness: function CanvasGraphics_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 switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'RI':\n this.setRenderingIntent(value);\n break;\n case 'FL':\n this.setFlatness(value);\n break;\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\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 this.current.activeSMask = value ? this.tempSMask : null;\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n this.tempSMask = null;\n break;\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 var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\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 var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\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 if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\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 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 if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\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 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 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 case _util.OPS.closePath:\n ctx.closePath();\n break;\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.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.globalAlpha = this.current.strokeAlpha;\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n if (consumePath) {\n this.consumePath();\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 if (isPatternFill) {\n ctx.save();\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n if (needRestore) {\n ctx.restore();\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 if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\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 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 if (!fontObj) {\n throw new Error('Can\\'t find font for ' + fontRefName);\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = '\"' + name + '\", ' + fontObj.fallbackName;\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n this.current.fontSizeScale = size / browserFontSize;\n var rule = italic + ' ' + bold + ' ' + browserFontSize + 'px ' + typeface;\n this.ctx.font = rule;\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.data;\n var addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\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 if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\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 ctx = this.canvasFactory.create(10, 10).context;\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 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 return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\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 = void 0;\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 ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\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 if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\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 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 if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\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 if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\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 if (isTextInvisible || fontSize === 0) {\n return;\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 for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\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 var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)('Type3 character \"' + glyph.operatorListId + '\" is not available.');\n continue;\n }\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 var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\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 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 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 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 this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\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 if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n var bl = _util.Util.applyTransform([0, 0], inv);\n var br = _util.Util.applyTransform([0, height], inv);\n var ul = _util.Util.applyTransform([width, 0], inv);\n var ur = _util.Util.applyTransform([width, height], inv);\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 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 this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n this.baseTransform = this.ctx.mozCurrentTransform;\n if (Array.isArray(bbox) && bbox.length === 4) {\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 this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n var currentTransform = currentCtx.mozCurrentTransform;\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\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 if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n var cacheId = 'groupAt' + this.groupLevel;\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\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 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 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 this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\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 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 this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.objs.get(objId);\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\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 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 if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\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 CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\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 for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, 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 var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\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 var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\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 this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\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 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);\n imgToPaint = tmpCanvas.canvas;\n }\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\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 ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\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 this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\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);\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 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 ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n this.pendingClip = null;\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 return this._cachedGetSinglePixelWidth;\n },\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 };\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n return CanvasGraphics;\n}();\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TilingPattern = exports.getShadingPatternFromIR = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar ShadingIRs = {};\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var colorStops = raw[2];\n var p0 = raw[3];\n var p1 = raw[4];\n var r0 = raw[5];\n var r1 = raw[6];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n var grad;\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 for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n return grad;\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 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 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 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 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 if (y1 >= y3) {\n return;\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 var k;\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\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 k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\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 for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n k = k < 0 ? 0 : k > 1 ? 1 : k;\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 function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\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 for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\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 break;\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 break;\n default:\n throw new Error('illegal figure');\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 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 if (backgroundColor) {\n var bytes = data.data;\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 for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\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 return createMeshCanvas;\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 background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n var scale;\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\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};\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n if (!shadingIR) {\n throw new Error('Unknown IR type: ' + raw[0]);\n }\n return shadingIR.fromIR(raw);\n}\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\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 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 var topLeft = [x0, y0];\n var botRight = [x0 + xstep, y0 + ystep];\n var width = botRight[0] - topLeft[0];\n var height = botRight[1] - topLeft[1];\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n this.setScale(width, height, xstep, ystep);\n this.transformToScale(graphics);\n var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n graphics.transform.apply(graphics, tmpTranslate);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n return tmpCanvas.canvas;\n },\n setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n this.scale = [width / xstep, height / ystep];\n },\n transformToScale: function TilingPattern_transformToScale(graphics) {\n var scale = this.scale;\n var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n graphics.transform.apply(graphics, tmpScale);\n },\n scaleToContext: function TilingPattern_scaleToContext() {\n var scale = this.scale;\n this.ctx.scale(1 / scale[0], 1 / scale[1]);\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 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 case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError('Unsupported paint type: ' + paintType);\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n this.scaleToContext();\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GlobalWorkerOptions = Object.create(null);\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar resolveCall = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(fn, args) {\n var thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (fn) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt('return');\n\n case 2:\n return _context.abrupt('return', fn.apply(thisArg, args));\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function resolveCall(_x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction wrapReason(reason) {\n if ((typeof reason === 'undefined' ? 'undefined' : _typeof(reason)) !== 'object') {\n return reason;\n }\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n}\nfunction makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n return new _util.UnknownErrorException(reason.message, reason.toString());\n}\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\nfunction finalize(promise) {\n return Promise.resolve(promise).catch(function () {});\n}\nfunction MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\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 var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n if (data.targetName !== _this.sourceName) {\n return;\n }\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error('Cannot resolve callback ' + callbackId);\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error('Unknown action from worker: ' + data.action);\n }\n };\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error('There is already an actionName called \"' + actionName + '\"');\n }\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n return capability.promise;\n },\n sendWithStream: 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 return new _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = (0, _util.createPromiseCapability)();\n var sendStreamRequest = function sendStreamRequest(_ref2) {\n var stream = _ref2.stream,\n chunk = _ref2.chunk,\n transfers = _ref2.transfers,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments[2];\n\n if (this.isCancelled) {\n return;\n }\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({ stream: 'close' });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n var sendStreamResponse = function sendStreamResponse(_ref3) {\n var stream = _ref3.stream,\n success = _ref3.success,\n reason = _ref3.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n break;\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n case 'error':\n (0, _util.assert)(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: 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 destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n};\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(138);\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar g = function () {\n return this;\n}() || Function(\"return this\")();\nvar hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\ng.regeneratorRuntime = undefined;\nmodule.exports = __w_pdfjs_require__(139);\nif (hadRuntime) {\n g.regeneratorRuntime = oldRuntime;\n} else {\n try {\n delete g.regeneratorRuntime;\n } catch (e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n!function (global) {\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 var inModule = ( false ? undefined : _typeof(module)) === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n module.exports = runtime;\n }\n return;\n }\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\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 runtime.wrap = wrap;\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 var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n runtime.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n runtime.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n runtime.awrap = function (arg) {\n return { __await: arg };\n };\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value && (typeof value === \"undefined\" ? \"undefined\" : _typeof(value)) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n var previousPromise;\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n this._invoke = enqueue;\n }\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n runtime.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return runtime.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\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 if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n return doneResult();\n }\n context.method = method;\n context.arg = arg;\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\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 context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n if (record.arg === ContinueSentinel) {\n continue;\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 function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n context.delegate = null;\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n return ContinueSentinel;\n }\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n var info = record.arg;\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 if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n context.delegate = null;\n return ContinueSentinel;\n }\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n Gp[iteratorSymbol] = function () {\n return this;\n };\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n runtime.keys = function (object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n next.done = true;\n return next;\n };\n };\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n if (typeof iterable.next === \"function\") {\n return iterable;\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 next.value = undefined;\n next.done = true;\n return next;\n };\n return next.next = next;\n }\n }\n return { next: doneResult };\n }\n runtime.values = values;\n function doneResult() {\n return {\n value: undefined,\n done: true\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 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 if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n return !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\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 if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\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 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 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 if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\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 if (this.method === \"next\") {\n this.arg = undefined;\n }\n return ContinueSentinel;\n }\n };\n}(function () {\n return this;\n}() || Function(\"return this\")());\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(140)(module)))\n\n/***/ }),\n/* 140 */\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 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 return module;\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(142);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Metadata = 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._metadata = Object.create(null);\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(/>\\\\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 case 'apos':\n return '\\'';\n case 'gt':\n return '>';\n case 'lt':\n return '<';\n case 'quot':\n return '\\\"';\n }\n throw new Error('_repair: ' + name + ' isn\\'t defined.');\n });\n var chars = '';\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n }\n }\n return '>' + chars;\n });\n }\n }, {\n key: '_parse',\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n var children = rdf.childNodes;\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\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 this._metadata[name] = entry.textContent.trim();\n }\n }\n }\n }\n }, {\n key: 'get',\n value: function get(name) {\n return this._metadata[name] || null;\n }\n }, {\n key: 'getAll',\n value: function getAll() {\n return this._metadata;\n }\n }, {\n key: 'has',\n value: function has(name) {\n return typeof this._metadata[name] !== 'undefined';\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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};\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\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 return true;\n}\n\nvar XMLParserBase = function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: '_resolveEntities',\n value: function _resolveEntities(s) {\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 switch (entity) {\n case 'lt':\n return '<';\n case 'gt':\n return '>';\n case 'amp':\n return '&';\n case 'quot':\n return '\\\"';\n }\n return this.onResolveEntity(entity);\n });\n }\n }, {\n key: '_parseContent',\n value: function _parseContent(s, start) {\n var pos = start,\n name = void 0,\n attributes = [];\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n name = s.substring(start, pos);\n skipWs();\n while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {\n skipWs();\n var attrName = '',\n attrValue = '';\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {\n attrName += s[pos];\n ++pos;\n }\n skipWs();\n if (s[pos] !== '=') {\n return null;\n }\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n if (attrEndChar !== '\\\"' && attrEndChar !== '\\'') {\n return null;\n }\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n if (attrEndIndex < 0) {\n return null;\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 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 name = void 0,\n value = void 0;\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {\n ++pos;\n }\n 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 while (i < s.length) {\n var ch = s[i];\n var j = i;\n if (ch === '<') {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n switch (ch2) {\n case '/':\n ++j;\n q = s.indexOf('>', j);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n case '?':\n ++j;\n var pi = this._parseProcessingInstruction(s, j);\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n case '!':\n if (s.substring(j + 1, j + 3) === '--') {\n q = s.indexOf('-->', j + 3);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\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 if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\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 if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n if (q2 > 0 && q > q2) {\n q = s.indexOf(']>', j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n complexDoctype = true;\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 break;\n default:\n var content = this._parseContent(s, j);\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n var isClosed = false;\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 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 var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n i = j;\n }\n }\n }, {\n key: 'onResolveEntity',\n value: function onResolveEntity(name) {\n return '&' + 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 = 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[0];\n }\n }, {\n key: 'nextSibling',\n get: function get() {\n var index = this.parentNode.childNodes.indexOf(this);\n return this.parentNode.childNodes[index + 1];\n }\n }, {\n key: 'textContent',\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || '';\n }\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join('');\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n function SimpleXMLParser() {\n _classCallCheck(this, SimpleXMLParser);\n\n var _this = _possibleConstructorReturn(this, (SimpleXMLParser.__proto__ || Object.getPrototypeOf(SimpleXMLParser)).call(this));\n\n _this._currentFragment = null;\n _this._stack = null;\n _this._errorCode = XMLParserErrorCode.NoError;\n return _this;\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 if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _currentFragment = _slicedToArray(this._currentFragment, 1),\n documentElement = _currentFragment[0];\n\n if (!documentElement) {\n return undefined;\n }\n return { documentElement: documentElement };\n }\n }, {\n key: 'onResolveEntity',\n value: function onResolveEntity(name) {\n switch (name) {\n case 'apos':\n return '\\'';\n }\n return _get(SimpleXMLParser.prototype.__proto__ || Object.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 var node = new SimpleDOMNode('#text', text);\n this._currentFragment.push(node);\n }\n }, {\n key: 'onCdata',\n value: function onCdata(text) {\n var node = new SimpleDOMNode('#text', text);\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 this._currentFragment.push(node);\n if (isEmpty) {\n return;\n }\n this._stack.push(this._currentFragment);\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 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/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n var initialData = params.initialData;\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\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 this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener(function (loaded) {\n _this._onProgress({ loaded: loaded });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({ chunk: chunk });\n });\n this._pdfDataRangeTransport.transportReady();\n }\n PDFDataTransportStream.prototype = {\n _onReceiveData: function PDFDataTransportStream_onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\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 rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found);\n }\n },\n _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n if (this._rangeReaders.length > 0) {\n var firstReader = this._rangeReaders[0];\n if (firstReader.onProgress) {\n firstReader.onProgress({ loaded: evt.loaded });\n }\n }\n },\n _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFDataTransportStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks);\n },\n getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeReaders.slice(0);\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n this._pdfDataRangeTransport.abort();\n }\n };\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n this._stream = stream;\n this._done = false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n PDFDataTransportStreamReader.prototype = {\n _enqueue: function PDFDataTransportStreamReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n return;\n }\n this._queuedChunks.push(chunk);\n },\n get headersReady() {\n return this._headersReady;\n },\n get filename() {\n return this._filename;\n },\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n },\n get contentLength() {\n return this._stream._contentLength;\n },\n read: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator2.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 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 _ref.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFDataTransportStreamReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n };\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n PDFDataTransportStreamRangeReader.prototype = {\n _enqueue: function PDFDataTransportStreamRangeReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n },\n get isStreamingSupported() {\n return false;\n },\n read: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator2.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\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 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 _ref2.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFDataTransportStreamRangeReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._stream._removeRangeReader(this);\n }\n };\n return PDFDataTransportStream;\n}();\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar WebGLContext = function () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === undefined ? 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\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\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 if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n }\n }]);\n\n return WebGLContext;\n}();\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 if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n return shader;\n }\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n return program;\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 var currentGL, currentCanvas;\n function generateGL() {\n if (currentGL) {\n return;\n }\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', { premultipliedalpha: false });\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 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 function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n if (!smaskCache) {\n initSmaskGL();\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 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 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 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 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 function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\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 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 case 'triangles':\n count += figures[i].coords.length;\n break;\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 for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\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 break;\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 break;\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 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 return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n return false;\n },\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 if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\nexports.WebGLContext = WebGLContext;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('div');\n var textDivProperties = {\n style: null,\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 task._textDivs.push(textDiv);\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n task._textDivProperties.set(textDiv, textDivProperties);\n return;\n }\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n var left;\n var top;\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 styleBuf[1] = left;\n styleBuf[3] = top;\n styleBuf[5] = fontHeight;\n styleBuf[7] = style.fontFamily;\n textDivProperties.style = styleBuf.join('');\n textDiv.setAttribute('style', textDivProperties.style);\n textDiv.textContent = geom.str;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n if (geom.str.length > 1) {\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 task._textDivProperties.set(textDiv, textDivProperties);\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\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 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 function render(task) {\n if (task._canceled) {\n return;\n }\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n task._renderingDone = true;\n capability.resolve();\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 for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n var divProperties = task._textDivProperties.get(div);\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 task._textDivProperties.set(div, divProperties);\n continue;\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, i) {\n var t = _util.Util.applyTransform(p, m);\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n return result;\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 task._textDivProperties.set(div, divProperties);\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 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 while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n var j = horizon.length - 1;\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\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 if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n boundary.x1New = maxXNew;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\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 var changedHorizon = [],\n lastBoundary = null;\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 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 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 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 for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n var used = false;\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n if (!used) {\n affectedBoundary.x2New = maxXNew;\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 if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n function TextLayerRenderTask(_ref) {\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\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(_global_scope2.default.FontInspector && _global_scope2.default.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 TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n cancel: function TextLayer_cancel() {\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n this._reader = null;\n }\n this._canceled = true;\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n this._capability.reject('canceled');\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 appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textLayerFrag = this._container;\n var textDivProperties = this._textDivProperties.get(textDiv);\n if (textDivProperties.isWhitespace) {\n return;\n }\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n var transform = '';\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = 'scaleX(' + textDivProperties.scale + ')';\n }\n if (textDivProperties.angle !== 0) {\n transform = 'rotate(' + textDivProperties.angle + 'deg) ' + transform;\n }\n if (transform !== '') {\n textDivProperties.originalTransform = transform;\n textDiv.style.transform = transform;\n }\n this._textDivProperties.set(textDiv, textDivProperties);\n textLayerFrag.appendChild(textDiv);\n },\n\n _render: function TextLayer_render(timeout) {\n var _this = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', { alpha: false });\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n this._processItems(textItems, textStyles);\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this._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 Object.assign(styleCache, value.styles);\n _this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n capability.promise.then(function () {\n styleCache = null;\n if (!timeout) {\n render(_this);\n } else {\n _this._renderTimer = setTimeout(function () {\n render(_this);\n _this._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 if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n var divProperties = this._textDivProperties.get(div);\n if (divProperties.isWhitespace) {\n continue;\n }\n if (expandDivs) {\n var transform = '',\n padding = '';\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\n if (divProperties.paddingLeft !== 0) {\n padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n }\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n if (transform !== '') {\n div.style.transform = transform;\n }\n } else {\n div.style.padding = 0;\n div.style.transform = divProperties.originalTransform || '';\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 task._render(renderParameters.timeout);\n return task;\n }\n return renderTextLayer;\n}();\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AnnotationElementFactory = 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 switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\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 return new PushButtonWidgetAnnotationElement(parameters);\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = 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 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\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 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 container.style.transform = 'matrix(' + viewport.transform.join(',') + ')';\n container.style.transformOrigin = -rect[0] + 'px ' + -rect[1] + 'px';\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = data.borderStyle.width + 'px';\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n default:\n break;\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 container.style.left = rect[0] + 'px';\n container.style.top = rect[1] + 'px';\n container.style.width = width + 'px';\n container.style.height = 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 var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\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 = function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _possibleConstructorReturn(this, (LinkAnnotationElement.__proto__ || Object.getPrototypeOf(LinkAnnotationElement)).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\n var link = document.createElement('a');\n (0, _dom_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _dom_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel\n });\n if (!data.url) {\n 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 _this2 = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = function () {\n if (destination) {\n _this2.linkService.navigateTo(destination);\n }\n return false;\n };\n if (destination) {\n link.className = 'internalLink';\n }\n }\n }, {\n key: '_bindNamedAction',\n value: function _bindNamedAction(link, action) {\n var _this3 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n link.onclick = function () {\n _this3.linkService.executeNamedAction(action);\n return false;\n };\n link.className = 'internalLink';\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (TextAnnotationElement.__proto__ || Object.getPrototypeOf(TextAnnotationElement)).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({ type: this.data.name });\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (WidgetAnnotationElement.__proto__ || Object.getPrototypeOf(WidgetAnnotationElement)).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 = function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _possibleConstructorReturn(this, (TextWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(TextWidgetAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement('textarea');\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement('input');\n element.type = 'text';\n element.setAttribute('value', this.data.fieldValue);\n }\n element.disabled = this.data.readOnly;\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\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(' + 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 if (this.data.fontRefName) {\n font = this.page.commonObjs.getData(this.data.fontRefName);\n }\n this._setTextStyle(element, font);\n }\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\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 = this.data.fontSize + 'px';\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n if (!font) {\n return;\n }\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? '\"' + 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 = function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (CheckboxWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(CheckboxWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (RadioButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(RadioButtonWidgetAnnotationElement)).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 element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'radio';\n element.name = this.data.fieldName;\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (PushButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(PushButtonWidgetAnnotationElement)).apply(this, arguments));\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n var container = _get(PushButtonWidgetAnnotationElement.prototype.__proto__ || Object.getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), 'render', this).call(this);\n container.className = 'buttonWidgetAnnotation pushButton';\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (ChoiceWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(ChoiceWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n var option = this.data.options[i];\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n selectElement.appendChild(optionElement);\n }\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (PopupAnnotationElement.__proto__ || Object.getPrototypeOf(PopupAnnotationElement)).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 if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n var parentElement = this.layer.querySelector(selector);\n if (!parentElement) {\n return this.container;\n }\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\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 = -(parentLeft + parentWidth) + 'px -' + parentElement.style.top;\n this.container.style.left = parentLeft + parentWidth + 'px';\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = 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.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 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 var contents = this._formatContents(this.contents);\n var title = document.createElement('h1');\n title.textContent = this.title;\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 popup.appendChild(title);\n popup.appendChild(contents);\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 for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\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 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 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 LineAnnotationElement = function (_AnnotationElement5) {\n _inherits(LineAnnotationElement, _AnnotationElement5);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (LineAnnotationElement.__proto__ || Object.getPrototypeOf(LineAnnotationElement)).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);\n line.setAttribute('stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n this._createPopup(this.container, line, data);\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = function (_AnnotationElement6) {\n _inherits(SquareAnnotationElement, _AnnotationElement6);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (SquareAnnotationElement.__proto__ || Object.getPrototypeOf(SquareAnnotationElement)).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);\n square.setAttribute('stroke', 'transparent');\n square.setAttribute('fill', 'none');\n svg.appendChild(square);\n this.container.append(svg);\n this._createPopup(this.container, square, data);\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = function (_AnnotationElement7) {\n _inherits(CircleAnnotationElement, _AnnotationElement7);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (CircleAnnotationElement.__proto__ || Object.getPrototypeOf(CircleAnnotationElement)).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);\n circle.setAttribute('stroke', 'transparent');\n circle.setAttribute('fill', 'none');\n svg.appendChild(circle);\n this.container.append(svg);\n this._createPopup(this.container, circle, data);\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = function (_AnnotationElement8) {\n _inherits(PolylineAnnotationElement, _AnnotationElement8);\n\n function PolylineAnnotationElement(parameters) {\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n\n var _this15 = _possibleConstructorReturn(this, (PolylineAnnotationElement.__proto__ || Object.getPrototypeOf(PolylineAnnotationElement)).call(this, parameters, isRenderable, true));\n\n _this15.containerClassName = 'polylineAnnotation';\n _this15.svgElementName = 'svg:polyline';\n return _this15;\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 vertices = data.vertices;\n var points = [];\n for (var i = 0, ii = vertices.length; i < ii; i++) {\n var x = vertices[i].x - data.rect[0];\n var y = data.rect[3] - vertices[i].y;\n points.push(x + ',' + y);\n }\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n this._createPopup(this.container, polyline, data);\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n _classCallCheck(this, PolygonAnnotationElement);\n\n var _this16 = _possibleConstructorReturn(this, (PolygonAnnotationElement.__proto__ || Object.getPrototypeOf(PolygonAnnotationElement)).call(this, parameters));\n\n _this16.containerClassName = 'polygonAnnotation';\n _this16.svgElementName = 'svg:polygon';\n return _this16;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar InkAnnotationElement = function (_AnnotationElement9) {\n _inherits(InkAnnotationElement, _AnnotationElement9);\n\n function InkAnnotationElement(parameters) {\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n\n var _this17 = _possibleConstructorReturn(this, (InkAnnotationElement.__proto__ || Object.getPrototypeOf(InkAnnotationElement)).call(this, parameters, isRenderable, true));\n\n _this17.containerClassName = 'inkAnnotation';\n _this17.svgElementName = 'svg:polyline';\n return _this17;\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 var inkLists = data.inkLists;\n for (var i = 0, ii = inkLists.length; i < ii; i++) {\n var inkList = inkLists[i];\n var points = [];\n for (var j = 0, jj = inkList.length; j < jj; j++) {\n var x = inkList[j].x - data.rect[0];\n var y = data.rect[3] - inkList[j].y;\n points.push(x + ',' + y);\n }\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n this._createPopup(this.container, polyline, data);\n svg.appendChild(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = function (_AnnotationElement10) {\n _inherits(HighlightAnnotationElement, _AnnotationElement10);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (HighlightAnnotationElement.__proto__ || Object.getPrototypeOf(HighlightAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'highlightAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = function (_AnnotationElement11) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement11);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (UnderlineAnnotationElement.__proto__ || Object.getPrototypeOf(UnderlineAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'underlineAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = function (_AnnotationElement12) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement12);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (SquigglyAnnotationElement.__proto__ || Object.getPrototypeOf(SquigglyAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'squigglyAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = function (_AnnotationElement13) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement13);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (StrikeOutAnnotationElement.__proto__ || Object.getPrototypeOf(StrikeOutAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'strikeoutAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = function (_AnnotationElement14) {\n _inherits(StampAnnotationElement, _AnnotationElement14);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (StampAnnotationElement.__proto__ || Object.getPrototypeOf(StampAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StampAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'stampAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = function (_AnnotationElement15) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement15);\n\n function FileAttachmentAnnotationElement(parameters) {\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n var _this23 = _possibleConstructorReturn(this, (FileAttachmentAnnotationElement.__proto__ || Object.getPrototypeOf(FileAttachmentAnnotationElement)).call(this, parameters, true));\n\n var _this23$data$file = _this23.data.file,\n filename = _this23$data$file.filename,\n content = _this23$data$file.content;\n\n _this23.filename = (0, _dom_utils.getFilenameFromUrl)(filename);\n _this23.content = content;\n if (_this23.linkService.eventBus) {\n _this23.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _this23,\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n return _this23;\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 if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\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 this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: 'render',\n value: function render(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n if (!data) {\n continue;\n }\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: parameters.renderInteractiveForms || false,\n svgFactory: new _dom_utils.DOMSVGFactory()\n });\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: 'update',\n value: function update(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n if (element) {\n element.style.transform = 'matrix(' + parameters.viewport.transform.join(',') + ')';\n }\n }\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _is_node = __w_pdfjs_require__(4);\n\nvar _is_node2 = _interopRequireDefault(_is_node);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n{\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n var convertImgDataToPng = function convertImgDataToPngClosure() {\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 for (var i = 0; i < 256; i++) {\n var c = i;\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 crcTable[i] = c;\n }\n function crc32(data, start, end) {\n var crc = -1;\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 return crc ^ -1;\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 function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n for (var i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!(0, _is_node2.default)()) {\n return deflateSyncUncompressed(literals);\n }\n try {\n var input;\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n var output = require('zlib').deflateSync(input, { level: 9 });\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 return deflateSyncUncompressed(literals);\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 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 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 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 switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error('invalid format');\n }\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n var y, i;\n for (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 if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (y = 0; y < height; y++) {\n offsetLiterals++;\n for (i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xFF;\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 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 var SVGExtraState = function SVGExtraStateClosure() {\n function SVGExtraState() {\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.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 SVGExtraState.prototype = {\n clone: function SVGExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return SVGExtraState;\n }();\n exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var opListLen = opList.length;\n for (var x = 0; x < opListLen; x++) {\n if (opList[x].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 if (opList[x].fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opList[x]);\n }\n }\n return opTree;\n }\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n var s = value.toFixed(10);\n var i = s.length - 1;\n if (s[i] !== '0') {\n return s;\n }\n do {\n i--;\n } while (s[i] === '0');\n return s.substring(0, s[i] === '.' ? i : i + 1);\n }\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n return 'scale(' + pf(m[0]) + ' ' + pf(m[3]) + ')';\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return 'rotate(' + pf(a) + ')';\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n }\n return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n this.svgFactory = new _dom_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 }\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 var clipCount = 0;\n var maskCount = 0;\n SVGGraphics.prototype = {\n save: function SVGGraphics_save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n },\n restore: function SVGGraphics_restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n },\n group: function SVGGraphics_group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n },\n loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var argsArray = operatorList.argsArray;\n for (var i = 0; i < fnArrayLen; i++) {\n if (_util.OPS.dependency === fnArray[i]) {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var obj = deps[n];\n var common = obj.substring(0, 2) === 'g_';\n var promise;\n if (common) {\n promise = new Promise(function (resolve) {\n _this.commonObjs.get(obj, resolve);\n });\n } else {\n promise = new Promise(function (resolve) {\n _this.objs.get(obj, resolve);\n });\n }\n this.current.dependencies.push(promise);\n }\n }\n }\n return Promise.all(this.current.dependencies);\n },\n transform: function SVGGraphics_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 getSVG: function SVGGraphics_getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n var svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n var opTree = _this2.convertOpList(operatorList);\n _this2.executeOpTree(opTree);\n return svgElement;\n });\n },\n convertOpList: function SVGGraphics_convertOpList(operatorList) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var REVOPS = [];\n var opList = [];\n for (var op in _util.OPS) {\n REVOPS[_util.OPS[op]] = op;\n }\n for (var x = 0; x < fnArrayLen; x++) {\n var fnId = fnArray[x];\n opList.push({\n 'fnId': fnId,\n 'fn': REVOPS[fnId],\n 'args': argsArray[x]\n });\n }\n return opListToTree(opList);\n },\n executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n var opTreeLen = opTree.length;\n for (var x = 0; x < opTreeLen; x++) {\n var fn = opTree[x].fn;\n var fnId = opTree[x].fnId;\n var args = opTree[x].args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTree[x].items);\n break;\n default:\n (0, _util.warn)('Unimplemented operator ' + fn);\n break;\n }\n }\n },\n setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n },\n setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n },\n nextLine: function SVGGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n },\n beginText: function SVGGraphics_beginText() {\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.lineMatrix = _util.IDENTITY_MATRIX;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.txtElement = this.svgFactory.createElement('svg:text');\n this.current.txtgrp = this.svgFactory.createElement('svg:g');\n this.current.xcoords = [];\n },\n moveText: function SVGGraphics_moveText(x, y) {\n var current = this.current;\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n },\n showText: function SVGGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\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 widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\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 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 if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._setStrokeAttributes(current.tspan);\n }\n var textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, 'transform', pm(textMatrix) + ' scale(1, -1)');\n current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n this._ensureTransformGroup().appendChild(current.txtElement);\n },\n setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\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 var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += '@font-face { font-family: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n },\n setFont: function SVGGraphics_setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n this.current.font = fontObj;\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\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 },\n endText: function endText() {\n var current = this.current;\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 setLineWidth: function SVGGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n },\n setLineCap: function SVGGraphics_setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function SVGGraphics_setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n this.current.miterLimit = limit;\n },\n setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n },\n setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.strokeColor = color;\n },\n setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n },\n setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.fillColor = color;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n },\n setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n },\n constructPath: function SVGGraphics_constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n current.path = this.svgFactory.createElement('svg:path');\n var d = [];\n var opLength = ops.length;\n for (var i = 0, j = 0; i < opLength; 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 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 case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\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 case _util.OPS.curveTo2:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n j += 4;\n break;\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 case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n current.path.setAttributeNS(null, 'd', d.join(' '));\n current.path.setAttributeNS(null, 'fill', 'none');\n this._ensureTransformGroup().appendChild(current.path);\n current.element = current.path;\n current.setCurrentPoint(x, y);\n },\n endPath: function SVGGraphics_endPath() {\n if (!this.pendingClip) {\n return;\n }\n var current = this.current;\n var clipId = 'clippath' + clipCount;\n 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 if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\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 current.activeClipUrl = 'url(#' + clipId + ')';\n this.tgrp = null;\n },\n clip: function SVGGraphics_clip(type) {\n this.pendingClip = type;\n },\n closePath: function SVGGraphics_closePath() {\n var current = this.current;\n if (current.path) {\n var d = current.path.getAttributeNS(null, 'd');\n d += 'Z';\n current.path.setAttributeNS(null, 'd', d);\n }\n },\n setLeading: function SVGGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setTextRise: function SVGGraphics_setTextRise(textRise) {\n this.current.textRise = textRise;\n },\n setTextRenderingMode: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n },\n\n setHScale: function SVGGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setGState: function SVGGraphics_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 switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'Font':\n this.setFont(value);\n break;\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n case 'ca':\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)('Unimplemented graphic state ' + key);\n break;\n }\n }\n },\n fill: function SVGGraphics_fill() {\n var current = this.current;\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 stroke: function SVGGraphics_stroke() {\n var current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n },\n _setStrokeAttributes: function _setStrokeAttributes(element) {\n var current = this.current;\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(current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n },\n\n eoFill: function SVGGraphics_eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n this.fill();\n },\n fillStroke: function SVGGraphics_fillStroke() {\n this.stroke();\n this.fill();\n },\n eoFillStroke: function SVGGraphics_eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n this.fillStroke();\n },\n closeStroke: function SVGGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n closeFillStroke: function SVGGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n },\n\n paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n var current = this.current;\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', current.fillColor);\n this._ensureTransformGroup().appendChild(rect);\n },\n paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n this._ensureTransformGroup().appendChild(imgEl);\n },\n paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintInlineImageXObject: function SVGGraphics_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(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n },\n paintImageMaskXObject: function SVGGraphics_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' + 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(#' + current.maskId + ')');\n this.defs.appendChild(mask);\n this._ensureTransformGroup().appendChild(rect);\n this.paintInlineImageXObject(imgData, mask);\n },\n paintFormXObjectBegin: function SVGGraphics_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 if (Array.isArray(bbox) && bbox.length === 4) {\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 paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n _initialize: 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 _ensureClipGroup: function SVGGraphics_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 return this.current.clipGroup;\n },\n _ensureTransformGroup: function SVGGraphics_ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n return SVGGraphics;\n }();\n}\nexports.SVGGraphics = SVGGraphics;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar fs = require('fs');\nvar http = require('http');\nvar https = require('https');\nvar url = require('url');\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse('file:///' + sourceUrl);\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n return parsedUrl;\n}\n\nvar PDFNodeStream = 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._fullRequest = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: 'getFullReader',\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequest);\n this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequest;\n }\n }, {\n key: 'getRangeReader',\n value: function getRangeReader(start, end) {\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n }, {\n key: 'cancelAllRequests',\n value: function cancelAllRequests(reason) {\n if (this._fullRequest) {\n this._fullRequest.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nvar BaseFullReader = 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 if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\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 _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, buffer;\n return _regenerator2.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 if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\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 _ref.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 return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._storedError = reason;\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 _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\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 = 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 _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, buffer;\n return _regenerator2.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 if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\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 _ref2.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 return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._storedError = reason;\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 _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\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(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n var _this3 = _possibleConstructorReturn(this, (PDFNodeStreamFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFullReader)).call(this, stream));\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException('Missing PDF \"' + _this3._url + '\".');\n _this3._storedError = error;\n _this3._headersCapability.reject(error);\n return;\n }\n _this3._headersCapability.resolve();\n _this3._setReadableStream(response);\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 _this3._request = null;\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 _this3._request.on('error', function (reason) {\n _this3._storedError = reason;\n _this3._headersCapability.reject(reason);\n });\n _this3._request.end();\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n var _this4 = _possibleConstructorReturn(this, (PDFNodeStreamRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamRangeReader)).call(this, stream));\n\n _this4._httpHeaders = {};\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n _this4._httpHeaders[property] = value;\n }\n _this4._httpHeaders['Range'] = 'bytes=' + start + '-' + (end - 1);\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException('Missing PDF \"' + _this4._url + '\".');\n _this4._storedError = error;\n return;\n }\n _this4._setReadableStream(response);\n };\n _this4._request = null;\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 _this4._request.on('error', function (reason) {\n _this4._storedError = reason;\n });\n _this4._request.end();\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n var _this5 = _possibleConstructorReturn(this, (PDFNodeStreamFsFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsFullReader)).call(this, stream));\n\n var path = decodeURIComponent(_this5._url.path);\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, '');\n }\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === 'ENOENT') {\n error = new _util.MissingPDFException('Missing PDF \"' + path + '\".');\n }\n _this5._storedError = error;\n _this5._headersCapability.reject(error);\n return;\n }\n _this5._contentLength = stat.size;\n _this5._setReadableStream(fs.createReadStream(path));\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n var _this6 = _possibleConstructorReturn(this, (PDFNodeStreamFsRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsRangeReader)).call(this, stream));\n\n var path = decodeURIComponent(_this6._url.path);\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, '');\n }\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\nexports.PDFNodeStream = PDFNodeStream;\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validateResponseStatus = exports.validateRangeRequestCapabilities = exports.extractFilenameFromHeader = exports.createResponseStatusError = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(150);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n\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 if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\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 tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n return fixupEncoding(_filename);\n }\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n var _filename2 = rfc2616unquote(tmp);\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n var decoder = new TextDecoder(encoding, { fatal: true });\n var bytes = new Array(value.length);\n for (var i = 0; i < value.length; ++i) {\n bytes[i] = value.charCodeAt(i);\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 return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDisposition) {\n var matches = [],\n match = void 0;\n var iter = toParamRegExp('filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)', 'ig');\n while ((match = iter.exec(contentDisposition)) !== 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 if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n var parts = [];\n for (var _n = 0; _n < matches.length; ++_n) {\n if (!(_n in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n if (_quot) {\n _part = unescape(_part);\n if (_n === 0) {\n _part = rfc5987decode(_part);\n }\n }\n parts.push(_part);\n }\n return parts.join('');\n }\n function rfc2616unquote(value) {\n if (value.charAt(0) === '\"') {\n var parts = value.slice(1).split('\\\\\"');\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replace(/\\\\(.)/g, '$1');\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf('\\'');\n if (encodingend === -1) {\n return extvalue;\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 function rfc2047decode(value) {\n if (value.slice(0, 2) !== '=?' || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, 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 (_, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch (e) {}\n return textdecode(charset, text);\n });\n }\n return '';\n}\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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\nvar PDFFetchStream = 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);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: 'getRangeReader',\n value: function getRangeReader(begin, end) {\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n }, {\n key: 'cancelAllRequests',\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nvar PDFFetchStreamReader = 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;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = new Headers();\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n this._headers.append(property, value);\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 _this._reader = response.body.getReader();\n _this._headersCapability.resolve();\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 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 _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var _ref2, value, done, buffer;\n\n return _regenerator2.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 _ref2 = _context.sent;\n value = _ref2.value;\n done = _ref2.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 if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\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 _ref.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 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 = 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;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n this._headers = new Headers();\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n this._headers.append(property, value);\n }\n var rangeStr = begin + '-' + (end - 1);\n this._headers.append('Range', 'bytes=' + rangeStr);\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 _this2._readCapability.resolve();\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: 'read',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var _ref4, value, done, buffer;\n\n return _regenerator2.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 _ref4 = _context2.sent;\n value = _ref4.value;\n done = _ref4.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 if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\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 _ref3.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 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\nexports.PDFFetchStream = PDFFetchStream;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkManager = exports.PDFNetworkStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\nfunction NetworkManager(url, args) {\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 this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n this.loadedRequests = Object.create(null);\n}\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n if (typeof data !== 'string') {\n return data;\n }\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\nvar supportsMozChunked = function supportsMozChunkedClosure() {\n try {\n var x = new XMLHttpRequest();\n x.open('GET', _global_scope2.default.location.href);\n x.responseType = 'moz-chunked-arraybuffer';\n return x.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n return false;\n }\n}();\nNetworkManager.prototype = {\n requestRange: function NetworkManager_requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n },\n requestFull: function NetworkManager_requestFull(listeners) {\n return this.request(listeners);\n },\n request: function NetworkManager_request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = { xhr: xhr };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && 'begin' in args && 'end' in args) {\n var rangeStr = args.begin + '-' + (args.end - 1);\n xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n pendingRequest.expectedStatus = 206;\n } else {\n pendingRequest.expectedStatus = 200;\n }\n var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n if (useMozChunkedLoading) {\n xhr.responseType = 'moz-chunked-arraybuffer';\n pendingRequest.onProgressiveData = args.onProgressiveData;\n pendingRequest.mozChunked = true;\n } else {\n xhr.responseType = 'arraybuffer';\n }\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\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 onProgress: function NetworkManager_onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n if (pendingRequest.mozChunked) {\n var chunk = getArrayBuffer(pendingRequest.xhr);\n pendingRequest.onProgressiveData(chunk);\n }\n var onProgress = pendingRequest.onProgress;\n if (onProgress) {\n onProgress(evt);\n }\n },\n onStateChange: function NetworkManager_onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n var xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n this.loadedRequests[xhrId] = true;\n var chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n var begin = parseInt(matches[1], 10);\n pendingRequest.onDone({\n begin: begin,\n chunk: chunk\n });\n } else if (pendingRequest.onProgressiveData) {\n pendingRequest.onDone(null);\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 hasPendingRequests: function NetworkManager_hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n return false;\n },\n getRequestXhr: function NetworkManager_getXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n },\n isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n return !!this.pendingRequests[xhrId].onProgressiveData;\n },\n isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n },\n isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n return xhrId in this.loadedRequests;\n },\n abortAllRequests: function NetworkManager_abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n },\n abortRequest: function NetworkManager_abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n};\nfunction PDFNetworkStream(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n}\nPDFNetworkStream.prototype = {\n _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFNetworkStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n },\n getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n};\nfunction PDFNetworkStreamFullRequestReader(manager, source) {\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onProgressiveData: source.disableStream ? null : this._onProgressiveData.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 if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\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}\nPDFNetworkStreamFullRequestReader.prototype = {\n _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\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 this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n var networkManager = this._manager;\n if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n this._isStreamingSupported = true;\n } else if (this._isRangeSupported) {\n networkManager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n },\n _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(chunk);\n }\n },\n _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n if (args) {\n this._onProgressiveData(args.chunk);\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n },\n _onError: function PDFNetworkStreamFullRequestReader_onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n this._headersReceivedCapability.reject(exception);\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n this._requests = [];\n this._cachedChunks = [];\n },\n _onProgress: function PDFNetworkStreamFullRequestReader_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 get filename() {\n return this._filename;\n },\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n get contentLength() {\n return this._contentLength;\n },\n get headersReady() {\n return this._headersReceivedCapability.promise;\n },\n read: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator2.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 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 _ref.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n};\nfunction PDFNetworkStreamRangeRequestReader(manager, begin, end) {\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}\nPDFNetworkStreamRangeRequestReader.prototype = {\n _close: function PDFNetworkStreamRangeRequestReader_close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n },\n _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) {\n var chunk = data.chunk;\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._close();\n },\n _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({ loaded: evt.loaded });\n }\n },\n get isStreamingSupported() {\n return false;\n },\n read: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator2.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\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 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 _ref2.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n};\nexports.PDFNetworkStream = PDFNetworkStream;\nexports.NetworkManager = NetworkManager;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => enableOverride === null ? createDebug.enabled(namespace) : enableOverride,\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\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'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFDocument.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}