{"version":3,"sources":["webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/lib/web/dom_events.js","webpack:///C:/dev/Kaizen/Colibri/node_modules/url/url.js","webpack:///C:/dev/Kaizen/Colibri/node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/vuetify/lib/components/VTimeline/VTimelineItem.js","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/build/pdf.js","webpack:///./node_modules/base64-js/index.js","webpack:///C:/dev/Kaizen/Colibri/node_modules/url/util.js","webpack:///(webpack)/buildin/module.js","webpack:///./src/components/gestiones/fileViewer.vue?dcbe","webpack:///./src/components/gestiones/fileViewer.vue?f22d","webpack:///./src/components/gestiones/fileViewer.vue?6d2f","webpack:///./src/components/gestiones/fileViewer.vue","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/lib/web/pdf_link_service.js","webpack:///./node_modules/babel-runtime/node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/vuetify/lib/components/VTimeline/VTimeline.js","webpack:///node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?0d24","webpack:///./node_modules/vue-pdf/src/componentFactory.js","webpack:///node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue?fd4b","webpack:///./node_modules/ieee754/index.js","webpack:///C:/dev/Kaizen/Colibri/node_modules/querystring-es3/decode.js","webpack:///./node_modules/vue-pdf/src/pdfjsWrapper.js","webpack:///C:/dev/Kaizen/Colibri/node_modules/querystring-es3/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?dbe4","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/lib/web/ui_utils.js","webpack:///C:/dev/Kaizen/Colibri/node_modules/querystring-es3/encode.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/vue-pdf/src/annotationLayer.css?9eed","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/build/pdf.worker.js?fa3d"],"names":["Object","defineProperty","exports","value","getGlobalEventBus","attachDOMEventsToEventBus","undefined","_ui_utils","eventBus","on","event","document","createEvent","initCustomEvent","window","dispatchEvent","evt","pageNumber","cssTransform","source","div","textLayerDiv","initUIEvent","container","pagesCount","scale","presetValue","location","type","query","phraseSearch","caseSensitive","highlightAll","findPrevious","attachmentsCount","view","outerContainer","mode","pdfViewer","action","active","switchInProgress","outlineCount","globalEventBus","dispatchToDOM","arguments","length","EventBus","punycode","util","Url","this","protocol","slashes","auth","host","port","hostname","hash","search","pathname","path","href","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","relative","TypeError","queryIndex","indexOf","splitter","uSplit","split","slashRegex","replace","join","rest","trim","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","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","root","nodeType","module","freeGlobal","global","self","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","Math","stringFromCharCode","String","fromCharCode","error","RangeError","map","array","fn","mapDomain","string","parts","labels","encoded","ucs2decode","extra","output","counter","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","decode","input","out","basic","index","oldi","w","t","baseMinusT","inputLength","n","bias","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","test","_extends","assign","target","key","hasOwnProperty","extend","name","props","color","default","fillDot","Boolean","hideDot","icon","iconColor","large","left","right","small","computed","hasIcon","$slots","methods","genBody","$createElement","staticClass","genIcon","dark","theme","isDark","genInnerDot","data","setBackgroundColor","genDot","class","genOpposite","opposite","render","children","themeClasses","factory","modules","installedModules","__w_pdfjs_require__","moduleId","c","d","getter","o","enumerable","get","r","Symbol","toStringTag","__esModule","ns","create","bind","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","warn","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","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","Number","isInteger","msg","console","log","details","Error","cond","baseUrl","otherUrl","origin","e","other","_isValidProtocol","absoluteUrl","ex","prop","configurable","writable","initializer","lookup","code","message","status","begin","end","NullCharactersRegExp","str","bytes","MAX_ARGUMENT_COUNT","apply","strBuf","chunkEnd","min","chunk","subarray","Uint8Array","arr","byteLength","item","itemLength","resultLength","ii","pos","set","x","ceil","start","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","max","inverseTransform","apply3dTransform","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","ROMAN_NUMBER_MAP","number","lowerCase","romanBuf","romanStr","PDFStringTranslateTable","unescape","ch","capability","promise","Promise","reject","digits","contentType","forceDataSchema","blob","Blob","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","btoa","chars","Buffer","from","toString","atob","scripts","getElementsByTagName","Element","remove","parentNode","removeChild","createElement","classList","toggle","originalDOMTokenListToggle","DOMTokenList","token","force","includes","Array","isNaN","WeakMap","codePointAt","fromCodePoint","process","$export","context","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","val","valueOf","bitmap","has","SRC","TO_STRING","$toString","TPL","inspectSource","safe","isFunction","id","px","random","aFunction","that","isRegExp","defined","NAME","cof","MATCH","store","uid","_Symbol","USE_SYMBOL","$exports","SHARED","copyright","KEY","re","$includes","el","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","propertyIsEnumerable","toInteger","UNSCOPABLES","ArrayProto","getKeys","gOPS","pIE","toObject","$assign","A","K","forEach","T","aLen","getSymbols","isEnum","$keys","enumBugKeys","arrayIndexOf","IE_PROTO","names","shared","getOwnPropertySymbols","LN2","isFinite","classof","TAG","ARG","tryGet","callee","$at","iterated","_t","_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","entries","descriptor","dPs","Empty","_createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","defineProperties","documentElement","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","step","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","PROMISE","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","err","onFulfilled","onRejected","C","$$reject","iter","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","isArrayIter","getIterFn","BREAK","RETURN","_exports","iterFn","ret","getIteratorMethod","SPECIES","D","defer","channel","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","listener","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","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","isArray","arg","META","setDesc","FREEZE","preventExtensions","setMeta","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","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","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","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","_ref2","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","_ref3","options","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","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","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","cp","tempC","temp","parseInt","JURL","_url","authority","_","PDFPageProxy","PDFDocumentProxy","_slicedToArray","sliceIterator","_arr","_e","_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","load","worker","WorkerMessageHandler","pdfjsFilePath","currentScript","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","pdfBytes","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","destroy","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","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageMode","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","rotate","userUnit","getViewport","dontFlip","PageViewport","viewBox","rotation","getAnnotations","intent","annotationsPromise","annotationsIntent","_this4","stats","time","renderingIntent","canvasFactory","DOMCanvasFactory","webGLContext","WebGLContext","enable","enableWebGL","intentState","displayReadyCapability","receivingOperatorList","operatorList","fnArray","argsArray","lastChunk","renderInteractiveForms","complete","renderTasks","internalRenderTask","_tryCleanup","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","getOperatorList","opListReadCapability","opListTask","streamTextContent","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","normalizeWhitespace","combineTextItems","disableCombineTextItems","textContent","items","getTextContent","pump","read","_textContent$items","styles","getReader","_destroy","pageCache","waitOn","renderCompleted","cancel","cleanup","resetStats","some","_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","removeEventListener","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this7","workerHandler","setup","delete","fontLoader","FontLoader","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this8","page","terminated","cancelAllRequests","_this9","getFullReader","total","onPull","enqueue","onCancel","_this10","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","pdfDocument","exception","_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","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref6","featureId","_this13","_this14","results","metadata","Metadata","contentDispositionFilename","filename","_this15","ensureObj","objId","resolved","callback","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","viewport","background","updateOperatorList","_this16","requestAnimationFrame","_this17","executeOperatorList","endDrawing","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","response","responseText","cMapData","compressionType","svg","createElementNS","setAttribute","_ref3$offsetX","offsetX","_ref3$offsetY","offsetY","_ref3$dontFlip","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","abs","_ref4$scale","_ref4$rotation","_ref4$dontFlip","y","tl","br","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","title","LinkTargetValues","targetIndex","anchor","substring","started","times","Date","longest","_ii","span","duration","padEnd","script","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","BaseFontLoader","nativeFontFaces","styleElement","loadingContext","requests","nextRequestId","nativeFontFace","fonts","add","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","fontFamily","body","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","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","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","scaleX","scaleY","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","paths","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","top","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","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","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","webpackPolyfill","deprecate","_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","attributes","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","text","onText","isEmpty","SimpleDOMNode","nodeValue","child","_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","bottom","_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","timeout","clearTimeout","_processItems","styleCache","len","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","element","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","parseFloat","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","file","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","toFixed","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","RegExp","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","toByteArray","fromByteArray","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","num","encodeChunk","uint8","extraBytes","maxChunkLength","len2","_vm","_self","attrs","loadedDocument","showPagesButtons","currentPage","pageCount","prevPage","nextPage","showPrintButton","staticRenderFns","namespace","noFilesAttached","downloadingDocument","getFile","fileName","print","sourceFile","$store","getters","Accept","Authorization","createLoadingTask","sourceFilePDF","pdf","finally","coreKaizen","component","VBtn","VContainer","VFlex","VIcon","VLayout","SimpleLinkService","PDFLinkService","_dom_events","_ref$externalLinkTarg","_ref$externalLinkRel","pdfHistory","_pagesRefCache","goToDestination","namedDest","explicitDest","destRef","_cachedPageNumber","cachePageRef","pushCurrentPosition","scrollPageIntoView","destArray","nameddest","zoomArgs","zoom","zoomArg","zoomArgNumber","allowNegativeOffset","pagemode","isValidExplicitDestination","back","forward","pageRef","refStr","currentPageNumber","pagesRotation","destLength","allowNull","param","alignTop","dense","classes","pdfjsWrapper","PDFJSWrapper","initial","resize","watch","loadDocument","loadPage","renderPage","$el","$refs","offsetWidth","resolutionScale","getResolutionScale","annotationLayer","dpi","pageList","printPage","mounted","$emit","$on","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","pow","rt","qs","sep","eq","regexp","maxKeys","kstr","vstr","idx","xs","isPDFDocumentLoadingTask","__PDFDocumentLoadingTask","PDFJS","canvasElt","annotationLayerElt","emitEvent","pdfDoc","pdfPage","pdfRender","canceling","clearCanvas","clearAnnotations","pageNumberOnly","PRINT_RESOLUTION","PRINT_UNITS","CSS_UNITS","iframeElt","frameBorder","scrolling","cssText","win","allPages","printCanvasElt","focus","queryCommandSupported","execCommand","removeIframe","devicePixelRatio","visibility","viewer","setDocument","setViewer","forEachPage","pageCallback","reasonStr","ratio","base64","ieee754","typedArraySupport","foo","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","checked","isEncoding","actual","fromArrayLike","isBuffer","copy","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","list","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","MAX_ARGUMENTS_LENGTH","codePoints","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","dst","moveToEndOfArray","waitOnEventOrTimeout","WaitOnType","animationStarted","normalizeWheelEventDelta","binarySearchFirstItem","watchScroll","scrollIntoView","getOutputScale","approximateFraction","getPageSizeInches","roundToDivide","getVisibleElements","backtrackBeforeAllVisibleElements","noContextMenuHandler","getPDFFileNameFromURL","ProgressBar","NullL10n","TextLayerMode","RendererType","PresentationModeState","isPortraitOrientation","isValidRotation","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","formatL10nValue","getLanguage","getDirection","_callee3","fallback","_context3","_x","_callee4","_context4","_x4","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","scaled","spot","skipOverflowHiddenElements","offsetParent","offsetTop","clientTop","offsetLeft","clientLeft","clientHeight","scrollHeight","clientWidth","scrollWidth","getComputedStyle","overflow","_scaleY","_scaleX","scrollLeft","scrollTop","viewAreaElement","debounceScroll","rAF","currentX","lastX","currentY","lastY","down","_eventHandler","condition","minIndex","maxIndex","currentIndex","currentItem","xinv","x_","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","visible","currentHeight","viewHeight","viewBottom","hiddenHeight","currentWidth","viewWidth","viewRight","hiddenWidth","percentVisible","firstVisibleElementInd","lastEdge","percent","pc","preventDefault","isDataSchema","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","deltaX","deltaY","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","EVENT","TIMEOUT","_ref6$delay","delay","off","eventHandler","timeoutHandler","_ref7","_ref7$dispatchToDOM","_dispatchToDOM","eventName","eventListeners","_dispatchDOMEvent","_args5","clamp","_ref8","bar","_indeterminate","progressSize","_percent","scrollbarWidth","_updateBar","moved","_read","stringifyPrimitive","objectKeys","ks"],"mappings":"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","file":"js/anexaDocumentos~firmaCerti.bab15649.js","sourcesContent":["/**\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'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGlobalEventBus = exports.attachDOMEventsToEventBus = undefined;\n\nvar _ui_utils = require('./ui_utils');\n\nfunction attachDOMEventsToEventBus(eventBus) {\n eventBus.on('documentload', function () {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('documentload', true, true, {});\n window.dispatchEvent(event);\n });\n eventBus.on('pagerendered', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagerendered', true, true, {\n pageNumber: evt.pageNumber,\n cssTransform: evt.cssTransform\n });\n evt.source.div.dispatchEvent(event);\n });\n eventBus.on('textlayerrendered', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('textlayerrendered', true, true, { pageNumber: evt.pageNumber });\n evt.source.textLayerDiv.dispatchEvent(event);\n });\n eventBus.on('pagechange', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('pagechange', true, true, window, 0);\n event.pageNumber = evt.pageNumber;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('pagesinit', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesinit', true, true, null);\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('pagesloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesloaded', true, true, { pagesCount: evt.pagesCount });\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('scalechange', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('scalechange', true, true, window, 0);\n event.scale = evt.scale;\n event.presetValue = evt.presetValue;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('updateviewarea', function (evt) {\n var event = document.createEvent('UIEvents');\n event.initUIEvent('updateviewarea', true, true, window, 0);\n event.location = evt.location;\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('find', function (evt) {\n if (evt.source === window) {\n return;\n }\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('find' + evt.type, true, true, {\n query: evt.query,\n phraseSearch: evt.phraseSearch,\n caseSensitive: evt.caseSensitive,\n highlightAll: evt.highlightAll,\n findPrevious: evt.findPrevious\n });\n window.dispatchEvent(event);\n });\n eventBus.on('attachmentsloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('attachmentsloaded', true, true, { attachmentsCount: evt.attachmentsCount });\n evt.source.container.dispatchEvent(event);\n });\n eventBus.on('sidebarviewchanged', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('sidebarviewchanged', true, true, { view: evt.view });\n evt.source.outerContainer.dispatchEvent(event);\n });\n eventBus.on('pagemode', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagemode', true, true, { mode: evt.mode });\n evt.source.pdfViewer.container.dispatchEvent(event);\n });\n eventBus.on('namedaction', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('namedaction', true, true, { action: evt.action });\n evt.source.pdfViewer.container.dispatchEvent(event);\n });\n eventBus.on('presentationmodechanged', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('presentationmodechanged', true, true, {\n active: evt.active,\n switchInProgress: evt.switchInProgress\n });\n window.dispatchEvent(event);\n });\n eventBus.on('outlineloaded', function (evt) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent('outlineloaded', true, true, { outlineCount: evt.outlineCount });\n evt.source.container.dispatchEvent(event);\n });\n}\nvar globalEventBus = null;\nfunction getGlobalEventBus() {\n var dispatchToDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!globalEventBus) {\n globalEventBus = new _ui_utils.EventBus({ dispatchToDOM: dispatchToDOM });\n if (!dispatchToDOM) {\n attachDOMEventsToEventBus(globalEventBus);\n }\n }\n return globalEventBus;\n}\nexports.attachDOMEventsToEventBus = attachDOMEventsToEventBus;\nexports.getGlobalEventBus = getGlobalEventBus;","// 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","/*! 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","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n// Types\nimport mixins from '../../util/mixins';\n// Components\nimport VIcon from '../VIcon';\n// Mixins\nimport Themeable from '../../mixins/themeable';\nimport Colorable from '../../mixins/colorable';\nexport default mixins(Colorable, Themeable\n/* @vue/component */\n).extend({\n name: 'v-timeline-item',\n props: {\n color: {\n type: String,\n default: 'primary'\n },\n fillDot: Boolean,\n hideDot: Boolean,\n icon: String,\n iconColor: String,\n large: Boolean,\n left: Boolean,\n right: Boolean,\n small: Boolean\n },\n computed: {\n hasIcon: function hasIcon() {\n return !!this.icon || !!this.$slots.icon;\n }\n },\n methods: {\n genBody: function genBody() {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__body'\n }, this.$slots.default);\n },\n genIcon: function genIcon() {\n if (this.$slots.icon) {\n return this.$slots.icon;\n }\n return this.$createElement(VIcon, {\n props: {\n color: this.iconColor,\n dark: !this.theme.isDark,\n small: this.small\n }\n }, this.icon);\n },\n genInnerDot: function genInnerDot() {\n var data = this.setBackgroundColor(this.color);\n return this.$createElement('div', _extends({\n staticClass: 'v-timeline-item__inner-dot'\n }, data), [this.hasIcon && this.genIcon()]);\n },\n genDot: function genDot() {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__dot',\n class: {\n 'v-timeline-item__dot--small': this.small,\n 'v-timeline-item__dot--large': this.large\n }\n }, [this.genInnerDot()]);\n },\n genOpposite: function genOpposite() {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__opposite'\n }, this.$slots.opposite);\n }\n },\n render: function render(h) {\n var children = [this.genBody()];\n if (!this.hideDot) children.unshift(this.genDot());\n if (this.$slots.opposite) children.push(this.genOpposite());\n return h('div', {\n staticClass: 'v-timeline-item',\n class: _extends({\n 'v-timeline-item--fill-dot': this.fillDot,\n 'v-timeline-item--left': this.left,\n 'v-timeline-item--right': this.right\n }, this.themeClasses)\n }, children);\n }\n});\n//# sourceMappingURL=VTimelineItem.js.map","/**\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","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","'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","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 render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"grid-list-xl\":\"\",\"fluid\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[(_vm.downloadingDocument)?_c('h3',[_vm._v(\"Recuperando documentos desde el servidor\")]):_vm._e()]),_c('v-flex',{attrs:{\"xs12\":\"\"}},[(_vm.loadedDocument && _vm.showPagesButtons)?_c('div',[_vm._v(\"\\n Página \"+_vm._s(_vm.currentPage)+\" de \"+_vm._s(_vm.pageCount)+\"\\n \"),_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.prevPage}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"remove\")])],1),_vm._v(\" /\\n \"),_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.nextPage}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"add\")])],1)],1):_vm._e()]),_c('v-flex',{attrs:{\"xs12\":\"\"}},[(!_vm.showPrintButton)?_c('pdf',{ref:\"pdf\",style:(_vm.styleDocument),attrs:{\"src\":_vm.loadingTask,\"page\":_vm.currentPage}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//@ts-ignore\nimport pdf from 'vue-pdf'\nimport printJS from 'print-js'\nimport { coreKaizen } from '@/common/coreKaizen'\nimport { Component, Prop } from 'vue-property-decorator'\nimport { mapGetters } from 'vuex'\n\nconst namespace: string = 'oidcStore/';\n@Component({\n components: {\n pdf\n },\n computed: {\n ...mapGetters(namespace, [\n 'oidcIdToken'\n ])\n }\n})\nexport default class fileViewer extends coreKaizen {\n @Prop(String) ticket!: string\n @Prop(String) sourceFile!: string\n @Prop(String) fileName!: string\n\n currentPage: number = 1\n pageCount: number = 0\n loadingTask: any = null\n \n noFilesAttached: boolean = false\n downloadingDocument: boolean = false\n loadedDocument: boolean = false\n\n get showPagesButtons(): boolean {\n return this.fileName !== \"comprobanteCertificacion\"\n }\n\n get showPrintButton(): boolean {\n return this.fileName === \"comprobanteCertificacion\"\n }\n\n get styleDocument(): string {\n return this.loadedDocument === true ? \"display:inline-block; width: 100%; border: 1px solid red\" : \"display:none\"\n }\n\n mounted() {\n this.getFile()\n if (this.fileName === \"comprobanteCertificacion\") {\n window.print()\n }\n }\n\n sourceFilePDF(sourceFile: string) {\n const token = this.$store.getters[namespace + 'oidcIdToken'];\n return {\n url: sourceFile,\n withCredentials: false,\n httpHeaders: {\n Accept: 'application/json',\n Authorization: 'Bearer ' + token\n }\n }\n }\n\n prevPage() {\n if (this.currentPage > 1) {\n this.currentPage--\n }\n }\n\n nextPage() {\n if (this.currentPage < this.pageCount) {\n this.currentPage++\n }\n }\n\n getFile() {\n if (!this.showPrintButton) {\n this.loadingTask = pdf.createLoadingTask(this.sourceFilePDF(this.sourceFile))\n this.loadingTask\n .then((pdf: any) => {\n this.pageCount = pdf.numPages;\n this.loadedDocument = true\n this.currentPage = 1\n })\n .catch((x: any) => console.log('reason: ' + x))\n .finally(() => this.downloadingDocument = false)\n }\n else {\n printJS(this.sourceFile)\n }\n }\n}\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fileViewer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fileViewer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./fileViewer.vue?vue&type=template&id=2aca0a46&scoped=true&\"\nimport script from \"./fileViewer.vue?vue&type=script&lang=ts&\"\nexport * from \"./fileViewer.vue?vue&type=script&lang=ts&\"\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 \"2aca0a46\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!C:/dev/Kaizen/Colibri/node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib'\nimport { VContainer } from 'vuetify/lib'\nimport { VFlex } from 'vuetify/lib'\nimport { VIcon } from 'vuetify/lib'\nimport { VLayout } from 'vuetify/lib'\ninstallComponents(component, {VBtn,VContainer,VFlex,VIcon,VLayout})\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'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = 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\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_events = require('./dom_events');\n\nvar _ui_utils = require('./ui_utils');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PDFLinkService = function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === undefined ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === undefined ? null : _ref$externalLinkRel;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus || (0, _dom_events.getGlobalEventBus)();\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: 'setDocument',\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: 'setViewer',\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: 'setHistory',\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: 'navigateTo',\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n\n var destRef = explicitDest[0],\n pageNumber = void 0;\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n }).catch(function () {\n console.error('PDFLinkService.navigateTo: \"' + destRef + '\" is not ' + ('a valid page reference, for dest=\"' + dest + '\".'));\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error('PDFLinkService.navigateTo: \"' + destRef + '\" is not ' + ('a valid destination reference, for dest=\"' + dest + '\".'));\n return;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error('PDFLinkService.navigateTo: \"' + pageNumber + '\" is not ' + ('a valid page number, for dest=\"' + dest + '\".'));\n return;\n }\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest\n });\n };\n new Promise(function (resolve, reject) {\n if (typeof dest === 'string') {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n return;\n }\n resolve({\n namedDest: '',\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error('PDFLinkService.navigateTo: \"' + data.explicitDest + '\" is' + (' not a valid destination array, for dest=\"' + dest + '\".'));\n return;\n }\n goToDestination(data);\n });\n }\n }, {\n key: 'getDestinationHash',\n value: function getDestinationHash(dest) {\n if (typeof dest === 'string') {\n return this.getAnchorUrl('#' + escape(dest));\n }\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl('#' + escape(str));\n }\n return this.getAnchorUrl('');\n }\n }, {\n key: 'getAnchorUrl',\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || '') + anchor;\n }\n }, {\n key: 'setHash',\n value: function setHash(hash) {\n var pageNumber = void 0,\n dest = void 0;\n if (hash.includes('=')) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n if ('search' in params) {\n this.eventBus.dispatch('findfromurlhash', {\n source: this,\n query: params['search'].replace(/\"/g, ''),\n phraseSearch: params['phrase'] === 'true'\n });\n }\n if ('nameddest' in params) {\n this.navigateTo(params.nameddest);\n return;\n }\n if ('page' in params) {\n pageNumber = params.page | 0 || 1;\n }\n if ('zoom' in params) {\n var zoomArgs = params.zoom.split(',');\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n if (!zoomArg.includes('Fit')) {\n dest = [null, { name: 'XYZ' }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === 'Fit' || zoomArg === 'FitB') {\n dest = [null, { name: zoomArg }];\n } else if (zoomArg === 'FitH' || zoomArg === 'FitBH' || zoomArg === 'FitV' || zoomArg === 'FitBV') {\n dest = [null, { name: zoomArg }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === 'FitR') {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, { name: zoomArg }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error('PDFLinkService.setHash: \"' + zoomArg + '\" is not ' + 'a valid zoom value.');\n }\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n if ('pagemode' in params) {\n this.eventBus.dispatch('pagemode', {\n source: this,\n mode: params.pagemode\n });\n }\n } else {\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n if (typeof dest === 'string' || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n console.error('PDFLinkService.setHash: \"' + unescape(hash) + '\" is not ' + 'a valid destination.');\n }\n }\n }, {\n key: 'executeNamedAction',\n value: function executeNamedAction(action) {\n switch (action) {\n case 'GoBack':\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n break;\n case 'GoForward':\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n break;\n case 'NextPage':\n if (this.page < this.pagesCount) {\n this.page++;\n }\n break;\n case 'PrevPage':\n if (this.page > 1) {\n this.page--;\n }\n break;\n case 'LastPage':\n this.page = this.pagesCount;\n break;\n case 'FirstPage':\n this.page = 1;\n break;\n default:\n break;\n }\n this.eventBus.dispatch('namedaction', {\n source: this,\n action: action\n });\n }\n }, {\n key: 'cachePageRef',\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n var refStr = pageRef.num + ' ' + pageRef.gen + ' R';\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: '_cachedPageNumber',\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.num + ' ' + pageRef.gen + ' R';\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: 'pagesCount',\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: 'page',\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: 'rotation',\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n var destLength = dest.length,\n allowNull = true;\n if (destLength < 2) {\n return false;\n }\n var page = dest[0];\n if (!((typeof page === 'undefined' ? 'undefined' : _typeof(page)) === 'object' && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n var zoom = dest[1];\n if (!((typeof zoom === 'undefined' ? 'undefined' : _typeof(zoom)) === 'object' && typeof zoom.name === 'string')) {\n return false;\n }\n switch (zoom.name) {\n case 'XYZ':\n if (destLength !== 5) {\n return false;\n }\n break;\n case 'Fit':\n case 'FitB':\n return destLength === 2;\n case 'FitH':\n case 'FitBH':\n case 'FitV':\n case 'FitBV':\n if (destLength !== 3) {\n return false;\n }\n break;\n case 'FitR':\n if (destLength !== 6) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n if (!(typeof param === 'number' || allowNull && param === null)) {\n return false;\n }\n }\n return true;\n}\n\nvar SimpleLinkService = function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n }\n\n _createClass(SimpleLinkService, [{\n key: 'navigateTo',\n value: function navigateTo(dest) {}\n }, {\n key: 'getDestinationHash',\n value: function getDestinationHash(dest) {\n return '#';\n }\n }, {\n key: 'getAnchorUrl',\n value: function getAnchorUrl(hash) {\n return '#';\n }\n }, {\n key: 'setHash',\n value: function setHash(hash) {}\n }, {\n key: 'executeNamedAction',\n value: function executeNamedAction(action) {}\n }, {\n key: 'cachePageRef',\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: 'pagesCount',\n get: function get() {\n return 0;\n }\n }, {\n key: 'page',\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: 'rotation',\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\nexports.SimpleLinkService = SimpleLinkService;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n// Styles\nimport '../../../src/stylus/components/_timeline.styl';\nimport mixins from '../../util/mixins';\n// Mixins\nimport Themeable from '../../mixins/themeable';\nexport default mixins(Themeable\n/* @vue/component */\n).extend({\n name: 'v-timeline',\n props: {\n alignTop: Boolean,\n dense: Boolean\n },\n computed: {\n classes: function classes() {\n return _extends({\n 'v-timeline--align-top': this.alignTop,\n 'v-timeline--dense': this.dense\n }, this.themeClasses);\n }\n },\n render: function render(h) {\n return h('div', {\n staticClass: 'v-timeline',\n 'class': this.classes\n }, this.$slots.default);\n }\n});\n//# sourceMappingURL=VTimeline.js.map","\r\n\r\n\r\n","var render, staticRenderFns\nimport script from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nexport * from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./resize-sensor.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../vuetify-loader/lib/loader.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../vuetify-loader/lib/loader.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"","import resizeSensor from 'vue-resize-sensor'\r\n\r\nexport default function(pdfjsWrapper) {\r\n\r\n\tvar createLoadingTask = pdfjsWrapper.createLoadingTask;\r\n\tvar PDFJSWrapper = pdfjsWrapper.PDFJSWrapper;\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\trender: function(h) {\r\n\t\t\treturn h('span', {\r\n\t\t\t\tattrs: {\r\n\t\t\t\t\tstyle: 'position: relative; display: inline-block'\r\n\t\t\t\t}\r\n\t\t\t}, [\r\n\t\t\t\th('canvas', {\r\n\t\t\t\t\tattrs: {\r\n\t\t\t\t\t\tstyle: 'display: inline-block; width: 100%; vertical-align: top',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tref:'canvas'\r\n\t\t\t\t}),\r\n\t\t\t\th('span', {\r\n\t\t\t\t\tstyle: 'display: inline-block; width: 100%',\r\n\t\t\t\t\tclass: 'annotationLayer',\r\n\t\t\t\t\tref:'annotationLayer'\r\n\t\t\t\t}),\r\n\t\t\t\th(resizeSensor, {\r\n\t\t\t\t\tprops: {\r\n\t\t\t\t\t\tinitial: true\r\n\t\t\t\t\t},\r\n\t\t\t\t\ton: {\r\n\t\t\t\t\t\tresize: this.resize\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tsrc: {\r\n\t\t\t\ttype: [String, Object, Uint8Array],\r\n\t\t\t\tdefault: '',\r\n\t\t\t},\r\n\t\t\tpage: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 1,\r\n\t\t\t},\r\n\t\t\trotate: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t},\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\tsrc: function() {\r\n\r\n\t\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t\t},\r\n\t\t\tpage: function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t},\r\n\t\t\trotate: function() {\r\n\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\t\t\t},\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tresize: function(size) {\r\n\r\n\t\t\t\t// check if the element is attached to the dom tree || resizeSensor being destroyed\r\n\t\t\t\tif ( this.$el.parentNode === null || (size.width === 0 && size.height === 0) )\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\t// on IE10- canvas height must be set\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (this.$refs.canvas.height / this.$refs.canvas.width) + 'px';\r\n\t\t\t\t// update the page when the resolution is too poor\r\n\t\t\t\tvar resolutionScale = this.pdf.getResolutionScale();\r\n\r\n\t\t\t\tif ( resolutionScale < 0.85 || resolutionScale > 1.15 )\r\n\t\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\r\n\t\t\t\tthis.$refs.annotationLayer.style.transform = 'scale('+resolutionScale+')';\r\n\t\t\t},\r\n\t\t\tprint: function(dpi, pageList) {\r\n\r\n\t\t\t\tthis.pdf.printPage(dpi, pageList);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// doc: mounted hook is not called during server-side rendering.\r\n\t\tmounted: function() {\r\n\r\n\t\t\tthis.pdf = new PDFJSWrapper(this.$refs.canvas, this.$refs.annotationLayer, this.$emit.bind(this));\r\n\r\n\t\t\tthis.$on('loaded', function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t});\r\n\r\n\t\t\tthis.$on('page-size', function(width, height) {\r\n\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (height / width) + 'px';\r\n\t\t\t});\r\n\r\n\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t},\r\n\r\n\t\t// doc: destroyed hook is not called during server-side rendering.\r\n\t\tdestroyed: function() {\r\n\r\n\t\t\tthis.pdf.destroy();\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","\r\n","var render, staticRenderFns\nimport script from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nexport * from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./annotationLayer.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../vuetify-loader/lib/loader.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../vuetify-loader/lib/loader.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'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","import { PDFLinkService } from 'pdfjs-dist/lib/web/pdf_link_service';\r\n\r\nexport default function(PDFJS) {\r\n\r\n\tfunction isPDFDocumentLoadingTask(obj) {\r\n\r\n\t\treturn typeof(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true;\r\n\t}\r\n\r\n\tfunction createLoadingTask(src, options) {\r\n\r\n\t\tvar source;\r\n\t\tif ( typeof(src) === 'string' )\r\n\t\t\tsource = { url: src };\r\n\t\telse if ( src instanceof Uint8Array )\r\n\t\t\tsource = { data: src };\r\n\t\telse if ( typeof(src) === 'object' && src !== null )\r\n\t\t\tsource = Object.assign({}, src);\r\n\t\telse\r\n\t\t\tthrow new TypeError('invalid src type');\r\n\r\n\t\tvar loadingTask = PDFJS.getDocument(source);\r\n\t\tloadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public\r\n\r\n\t\tif ( options && options.onPassword )\r\n\t\t\tloadingTask.onPassword = options.onPassword;\r\n\r\n\t\tif ( options && options.onProgress )\r\n\t\t\tloadingTask.onProgress = options.onProgress;\r\n\r\n\t\treturn loadingTask;\r\n\t}\r\n\r\n\r\n\tfunction PDFJSWrapper(canvasElt, annotationLayerElt, emitEvent) {\r\n\r\n\t\tvar pdfDoc = null;\r\n\t\tvar pdfPage = null;\r\n\t\tvar pdfRender = null;\r\n\t\tvar canceling = false;\r\n\r\n\t\tcanvasElt.getContext('2d').save();\r\n\r\n\t\tfunction clearCanvas() {\r\n\r\n\t\t\tcanvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);\r\n\t\t}\r\n\r\n\t\tfunction clearAnnotations() {\r\n\r\n\t\t\twhile ( annotationLayerElt.firstChild )\r\n\t\t\t\tannotationLayerElt.removeChild(annotationLayerElt.firstChild);\r\n\t\t}\r\n\r\n\t\tthis.destroy = function() {\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\t\t\tpdfDoc.destroy();\r\n\t\t\tpdfDoc = null;\r\n\t\t}\r\n\r\n\t\tthis.getResolutionScale = function() {\r\n\r\n\t\t\treturn canvasElt.offsetWidth / canvasElt.width;\r\n\t\t}\r\n\r\n\t\tthis.printPage = function(dpi, pageNumberOnly) {\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// 1in == 72pt\r\n\t\t\t// 1in == 96px\r\n\t\t\tvar PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;\r\n\t\t\tvar PRINT_UNITS = PRINT_RESOLUTION / 72.0;\r\n\t\t\tvar CSS_UNITS = 96.0 / 72.0;\r\n\r\n\t\t\tvar iframeElt = document.createElement('iframe');\r\n\r\n\t\t\tfunction removeIframe() {\r\n\r\n\t\t\t\tiframeElt.parentNode.removeChild(iframeElt);\r\n\t\t\t}\r\n\r\n\t\t\tnew Promise(function(resolve, reject) {\r\n\r\n\t\t\t\tiframeElt.frameBorder = '0';\r\n\t\t\t\tiframeElt.scrolling = 'no';\r\n\t\t\t\tiframeElt.width = '0px;'\r\n\t\t\t\tiframeElt.height = '0px;'\r\n\t\t\t\tiframeElt.style.cssText = 'position: absolute; top: 0; left: 0';\r\n\r\n\t\t\t\tiframeElt.onload = function() {\r\n\r\n\t\t\t\t\tresolve(this.contentWindow);\r\n\t\t\t\t}\r\n\r\n\t\t\t\twindow.document.body.appendChild(iframeElt);\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\twin.document.title = '';\r\n\r\n\t\t\t\treturn pdfDoc.getPage(1)\r\n\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\tvar viewport = page.getViewport(1);\r\n\t\t\t\t\twin.document.head.appendChild(win.document.createElement('style')).textContent =\r\n\t\t\t\t\t\t'@supports ((size:A4) and (size:1pt 1pt)) {' +\r\n\t\t\t\t\t\t\t'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +\r\n\t\t\t\t\t\t'}' +\r\n\r\n\t\t\t\t\t\t'@media print {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t\t'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t'@media screen {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\treturn win;\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\tvar allPages = [];\r\n\r\n\t\t\t\tfor ( var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber ) {\r\n\r\n\t\t\t\t\tif ( pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1 )\r\n\t\t\t\t\t\tcontinue;\r\n\r\n\t\t\t\t\tallPages.push(\r\n\t\t\t\t\t\tpdfDoc.getPage(pageNumber)\r\n\t\t\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\t\t\tvar viewport = page.getViewport(1);\r\n\r\n\t\t\t\t\t\t\tvar printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));\r\n\t\t\t\t\t\t\tprintCanvasElt.width = (viewport.width * PRINT_UNITS);\r\n\t\t\t\t\t\t\tprintCanvasElt.height = (viewport.height * PRINT_UNITS);\r\n\r\n\t\t\t\t\t\t\treturn page.render({\r\n\t\t\t\t\t\t\t\tcanvasContext: printCanvasElt.getContext('2d'),\r\n\t\t\t\t\t\t\t\ttransform: [ // Additional transform, applied just before viewport transform.\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0,\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\tviewport: viewport,\r\n\t\t\t\t\t\t\t\tintent: 'print'\r\n\t\t\t\t\t\t\t}).promise;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tPromise.all(allPages)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\twin.focus(); // Required for IE\r\n\t\t\t\t\tif (win.document.queryCommandSupported('print')) {\r\n\t\t\t\t\t\twin.document.execCommand('print', false, null);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\twin.print();\r\n\t\t\t\t\t }\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tthis.renderPage = function(rotate) {\r\n\t\t\tif ( pdfRender !== null ) {\r\n\r\n\t\t\t\tif ( canceling )\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcanceling = true;\r\n\t\t\t\tpdfRender.cancel();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\trotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);\r\n\r\n\t\t\tvar scale = canvasElt.offsetWidth / pdfPage.getViewport(1).width * (window.devicePixelRatio || 1);\r\n\t\t\tvar viewport = pdfPage.getViewport(scale, rotate);\r\n\r\n\t\t\temitEvent('page-size', viewport.width, viewport.height);\r\n\r\n\t\t\tcanvasElt.width = viewport.width;\r\n\t\t\tcanvasElt.height = viewport.height;\r\n\r\n\t\t\tpdfRender = pdfPage.render({\r\n\t\t\t\tcanvasContext: canvasElt.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t});\r\n\r\n\t\t\tannotationLayerElt.style.visibility = 'hidden';\r\n\t\t\tclearAnnotations();\r\n\r\n\t\t\tvar viewer = {\r\n\t\t\t\tscrollPageIntoView: function(params) {\r\n\t\t\t\t\temitEvent('link-clicked', params.pageNumber)\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t\tvar linkService = new PDFLinkService();\r\n\t\t\tlinkService.setDocument(pdfDoc);\r\n\t\t\tlinkService.setViewer(viewer);\r\n\r\n\t\t\tpdfPage.getAnnotations({ intent: 'display' })\r\n\t\t\t.then(function(annotations) {\r\n\r\n\t\t\t\tPDFJS.AnnotationLayer.render({\r\n\t\t\t\t\tviewport: viewport.clone({ dontFlip: true }),\r\n\t\t\t\t\tdiv: annotationLayerElt,\r\n\t\t\t\t\tannotations: annotations,\r\n\t\t\t\t\tpage: pdfPage,\r\n\t\t\t\t\tlinkService: linkService,\r\n\t\t\t\t\trenderInteractiveForms: false\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tpdfRender\r\n\t\t\t.then(function() {\r\n\t\t\t\tannotationLayerElt.style.visibility = '';\r\n\t\t\t\tcanceling = false;\r\n\t\t\t\tpdfRender = null;\r\n\t\t\t})\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tpdfRender = null;\r\n\t\t\t\tif ( err instanceof PDFJS.RenderingCancelledException ) {\r\n\r\n\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t}.bind(this))\r\n\t\t}\r\n\r\n\r\n\t\tthis.forEachPage = function(pageCallback) {\r\n\r\n\t\t\tvar numPages = pdfDoc.numPages;\r\n\r\n\t\t\t(function next(pageNum) {\r\n\r\n\t\t\t\tpdfDoc.getPage(pageNum)\r\n\t\t\t\t.then(pageCallback)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tif ( ++pageNum <= numPages )\r\n\t\t\t\t\t\tnext(pageNum);\r\n\t\t\t\t})\r\n\t\t\t})(1);\r\n\t\t}\r\n\r\n\r\n\t\tthis.loadPage = function(pageNumber, rotate) {\r\n\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tpdfDoc.getPage(pageNumber)\r\n\t\t\t.then(function(page) {\r\n\r\n\t\t\t\tpdfPage = page;\r\n\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\temitEvent('page-loaded', page.pageNumber);\r\n\t\t\t}.bind(this))\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.loadDocument = function(src) {\r\n\r\n\t\t\tpdfDoc = null;\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\temitEvent('num-pages', undefined);\r\n\r\n\t\t\tif ( !src ) {\r\n\r\n\t\t\t\tcanvasElt.removeAttribute('width');\r\n\t\t\t\tcanvasElt.removeAttribute('height');\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( isPDFDocumentLoadingTask(src) ) {\r\n\r\n\t\t\t\tif ( src.destroyed ) {\r\n\r\n\t\t\t\t\temitEvent('error', new Error('loadingTask has been destroyed'));\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar loadingTask = src;\r\n\t\t\t} else {\r\n\r\n\t\t\t\tvar loadingTask = createLoadingTask(src, {\r\n\t\t\t\t\tonPassword: function(updatePassword, reason) {\r\n\r\n\t\t\t\t\t\tvar reasonStr;\r\n\t\t\t\t\t\tswitch (reason) {\r\n\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.NEED_PASSWORD:\r\n\t\t\t\t\t\t\t\treasonStr = 'NEED_PASSWORD';\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.INCORRECT_PASSWORD:\r\n\t\t\t\t\t\t\t\treasonStr = 'INCORRECT_PASSWORD';\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\temitEvent('password', updatePassword, reasonStr);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonProgress: function(status) {\r\n\r\n\t\t\t\t\t\tvar ratio = status.loaded / status.total;\r\n\t\t\t\t\t\temitEvent('progress', Math.min(ratio, 1));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tloadingTask\r\n\t\t\t.then(function(pdf) {\r\n\r\n\t\t\t\tpdfDoc = pdf;\r\n\t\t\t\temitEvent('num-pages', pdf.numPages);\r\n\t\t\t\temitEvent('loaded');\r\n\t\t\t})\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tannotationLayerElt.style.transformOrigin = '0 0';\r\n\t}\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\tPDFJSWrapper: PDFJSWrapper,\r\n\t}\r\n}\r\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\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\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\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\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\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 &&\n typeof value === \"object\" &&\n 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\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\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\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\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\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(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 &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(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\n \"catch\": function(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\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n","import mod from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/index.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../vuetify-loader/lib/loader.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/index.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../vuetify-loader/lib/loader.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=style&index=0&lang=css&\"","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = require(\"regenerator-runtime\");\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'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.moveToEndOfArray = exports.waitOnEventOrTimeout = exports.WaitOnType = exports.animationStarted = exports.normalizeWheelEventDelta = exports.binarySearchFirstItem = exports.watchScroll = exports.scrollIntoView = exports.getOutputScale = exports.approximateFraction = exports.getPageSizeInches = exports.roundToDivide = exports.getVisibleElements = exports.backtrackBeforeAllVisibleElements = exports.parseQueryString = exports.noContextMenuHandler = exports.getPDFFileNameFromURL = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.isPortraitOrientation = exports.isValidRotation = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = undefined;\n\nvar _regenerator = require('babel-runtime/regenerator');\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 _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 _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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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 CSS_UNITS = 96.0 / 72.0;\nvar DEFAULT_SCALE_VALUE = 'auto';\nvar DEFAULT_SCALE = 1.0;\nvar MIN_SCALE = 0.10;\nvar MAX_SCALE = 10.0;\nvar UNKNOWN_SCALE = 0;\nvar MAX_AUTO_SCALE = 1.25;\nvar SCROLLBAR_PADDING = 40;\nvar VERTICAL_PADDING = 5;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nvar RendererType = {\n CANVAS: 'canvas',\n SVG: 'svg'\n};\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : '{{' + name + '}}';\n });\n}\nvar NullL10n = {\n getLanguage: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt('return', 'en-us');\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _ref.apply(this, arguments);\n }\n\n return getLanguage;\n }(),\n getDirection: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt('return', 'ltr');\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _ref2.apply(this, arguments);\n }\n\n return getDirection;\n }(),\n get: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee3(property, args, fallback) {\n return _regenerator2.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt('return', formatL10nValue(fallback, args));\n\n case 1:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _ref3.apply(this, arguments);\n }\n\n return get;\n }(),\n translate: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee4(element) {\n return _regenerator2.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _ref4.apply(this, arguments);\n }\n\n return translate;\n }()\n};\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var parent = element.offsetParent;\n if (!parent) {\n console.error('offsetParent is not set -- cannot scroll');\n return;\n }\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === 'hidden') {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n if (!parent) {\n return;\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener('scroll', debounceScroll, true);\n return state;\n}\nfunction parseQueryString(query) {\n var parts = query.split('&');\n var params = Object.create(null);\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split('=');\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n return params;\n}\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n if (items.length === 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex;\n}\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n var xinv = 1 / x;\n var limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n while (true) {\n var p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n var result = void 0;\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\nfunction getPageSizeInches(_ref5) {\n var view = _ref5.view,\n userUnit = _ref5.userUnit,\n rotate = _ref5.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n index = i;\n }\n return index;\n}\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n var visible = [],\n view = void 0,\n element = void 0;\n var currentHeight = void 0,\n viewHeight = void 0,\n viewBottom = void 0,\n hiddenHeight = void 0;\n var currentWidth = void 0,\n viewWidth = void 0,\n viewRight = void 0,\n hiddenWidth = void 0;\n var percentVisible = void 0;\n var firstVisibleElementInd = views.length === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n if (views.length > 0 && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n var lastEdge = horizontal ? right : -1;\n for (var i = firstVisibleElementInd, ii = views.length; i < ii; i++) {\n view = views[i];\n element = view.div;\n currentWidth = element.offsetLeft + element.clientLeft;\n currentHeight = element.offsetTop + element.clientTop;\n viewWidth = element.clientWidth;\n viewHeight = element.clientHeight;\n viewRight = currentWidth + viewWidth;\n viewBottom = currentHeight + viewHeight;\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n percentVisible = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percentVisible\n });\n }\n var first = visible[0];\n var last = visible[visible.length - 1];\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id;\n });\n }\n return {\n first: first,\n last: last,\n views: visible\n };\n}\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\nfunction isDataSchema(url) {\n var i = 0,\n ii = url.length;\n while (i < ii && url[i].trim() === '') {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === 'data:';\n}\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf';\n\n if (typeof url !== 'string') {\n return defaultFilename;\n }\n if (isDataSchema(url)) {\n console.warn('getPDFFileNameFromURL: ' + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes('%')) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nfunction normalizeWheelEventDelta(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\nvar WaitOnType = {\n EVENT: 'event',\n TIMEOUT: 'timeout'\n};\nfunction waitOnEventOrTimeout(_ref6) {\n var target = _ref6.target,\n name = _ref6.name,\n _ref6$delay = _ref6.delay,\n delay = _ref6$delay === undefined ? 0 : _ref6$delay;\n\n return new Promise(function (resolve, reject) {\n if ((typeof target === 'undefined' ? 'undefined' : _typeof(target)) !== 'object' || !(name && typeof name === 'string') || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error('waitOnEventOrTimeout - invalid parameters.');\n }\n function handler(type) {\n if (target instanceof EventBus) {\n target.off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n if (timeout) {\n clearTimeout(timeout);\n }\n resolve(type);\n }\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n if (target instanceof EventBus) {\n target.on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\nvar animationStarted = new Promise(function (resolve) {\n if (typeof window === 'undefined') {\n setTimeout(resolve, 20);\n return;\n }\n window.requestAnimationFrame(resolve);\n});\n\nvar EventBus = function () {\n function EventBus() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$dispatchToDOM = _ref7.dispatchToDOM,\n dispatchToDOM = _ref7$dispatchToDOM === undefined ? false : _ref7$dispatchToDOM;\n\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n this._dispatchToDOM = dispatchToDOM === true;\n }\n\n _createClass(EventBus, [{\n key: 'on',\n value: function on(eventName, listener) {\n var eventListeners = this._listeners[eventName];\n if (!eventListeners) {\n eventListeners = [];\n this._listeners[eventName] = eventListeners;\n }\n eventListeners.push(listener);\n }\n }, {\n key: 'off',\n value: function off(eventName, listener) {\n var eventListeners = this._listeners[eventName];\n var i = void 0;\n if (!eventListeners || (i = eventListeners.indexOf(listener)) < 0) {\n return;\n }\n eventListeners.splice(i, 1);\n }\n }, {\n key: 'dispatch',\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n if (this._dispatchToDOM) {\n var _args5 = Array.prototype.slice.call(arguments, 1);\n this._dispatchDOMEvent(eventName, _args5);\n }\n return;\n }\n var args = Array.prototype.slice.call(arguments, 1);\n eventListeners.slice(0).forEach(function (listener) {\n listener.apply(null, args);\n });\n if (this._dispatchToDOM) {\n this._dispatchDOMEvent(eventName, args);\n }\n }\n }, {\n key: '_dispatchDOMEvent',\n value: function _dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!this._dispatchToDOM) {\n return;\n }\n var details = Object.create(null);\n if (args && args.length > 0) {\n var obj = args[0];\n for (var key in obj) {\n var value = obj[key];\n if (key === 'source') {\n if (value === window || value === document) {\n return;\n }\n continue;\n }\n details[key] = value;\n }\n }\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, true, true, details);\n document.dispatchEvent(event);\n }\n }]);\n\n return EventBus;\n}();\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = function () {\n function ProgressBar(id) {\n var _ref8 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref8.height,\n width = _ref8.width,\n units = _ref8.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + ' .progress');\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || '%';\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: '_updateBar',\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add('indeterminate');\n this.div.style.width = this.width + this.units;\n return;\n }\n this.div.classList.remove('indeterminate');\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: 'setWidth',\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.bar.setAttribute('style', 'width: calc(100% - ' + scrollbarWidth + 'px);');\n }\n }\n }, {\n key: 'hide',\n value: function hide() {\n if (!this.visible) {\n return;\n }\n this.visible = false;\n this.bar.classList.add('hidden');\n document.body.classList.remove('loadingInProgress');\n }\n }, {\n key: 'show',\n value: function show() {\n if (this.visible) {\n return;\n }\n this.visible = true;\n document.body.classList.add('loadingInProgress');\n this.bar.classList.remove('hidden');\n }\n }, {\n key: 'percent',\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\nexports.CSS_UNITS = CSS_UNITS;\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nexports.MIN_SCALE = MIN_SCALE;\nexports.MAX_SCALE = MAX_SCALE;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nexports.isValidRotation = isValidRotation;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.PresentationModeState = PresentationModeState;\nexports.RendererType = RendererType;\nexports.TextLayerMode = TextLayerMode;\nexports.NullL10n = NullL10n;\nexports.EventBus = EventBus;\nexports.ProgressBar = ProgressBar;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.animationStarted = animationStarted;\nexports.WaitOnType = WaitOnType;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;","// 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","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","import mod from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/index.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/index.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css&\"","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"9af7edf7f535ea3cb87e.worker.js\");\n};"],"sourceRoot":""}